我有以下项目结构,在GOPATH.
. // Project root
├── Dockerfile
├── .env
├── README.md
└── src
├── main.go
├── go.mod
├── go.sum
├── internal
│ ├── somepackage
│ │ ├── main.go
│ │ └── types.go
│ ├── someother
│ │ ├── main.go
│ │ ├── oauth.go
│ │ └── types.go
│ └── models
│ └── main.go
└── pkg
├── somepackage
│ └── main.go
└── anotherpackage
└── main.go
我想运行位于src目录中的 Go 模块代码。当我cd进入src目录和go run ./或go build .我的代码时,它工作得很好。
当我站在项目的根部时,我无法运行go run ./src或go build ./src. 我收到以下错误。
src/service.go:8:2: cannot find package "web-service/internal/auth" in any of:
/usr/lib/go/src/web-service/internal/auth (from $GOROOT)
/home/miloertas/Packages/go/src/web-service/internal/auth (from $GOPATH)
src/endpoints.go:3:8: cannot find package "web-service/internal/handlers" in any of:
/usr/lib/go/src/web-service/internal/handlers (from $GOROOT)
/home/miloertas/Packages/go/src/web-service/internal/handlers (from $GOPATH)
重要的是我的源代码保留在此src目录中。run同样重要的是,我能够build从项目的根目录获取代码(例如,.env文件位于存储库的根目录)。
因此,我正在从我的项目的根目录中寻找一种方法run或build我的代码。src
我尝试移动go.mod项目的根目录并运行并运行go run ./src,但这会导致其自身的问题:
该go命令现在无法找到所有子包internal和pkg
VSCode 现在丢失并且由于某些原因无法执行测试(主要是因为没有找到所有子包)。
心有法竹
潇湘沐
慕虎7371278
随时随地看视频慕课网APP
相关分类