无法在 golang 工作区中构建示例程序

can not build an example program in golang workspace

我正在尝试使用 golang workspace 来管理我的 golang 项目,但是有一个非常奇怪的问题,我无法获得一个具有特定名称 (example/apps/albireo) 的模块,错误是:package example/apps/albireo is not in GOROOT.

我在 https://github.com/archsh/go-workspace-example 中提交了我的测试代码,这是项目结构:

.:
apps  go.work  Makefile

./apps:
albi  albireo  albireo1  gliese

./apps/albi:
go.mod  main.go

./apps/albireo:
go.mod  main.go

./apps/albireo1:
go.mod  main.go

./apps/gliese:
go.mod  main.go

每个模块内部只有一个简单的主函数,但是当我尝试构建模块时,只有 example/apps/albireo 失败了:

> make
Building gliese ...
Building albi ...
Building albireo1 ...
Building albireo ...
package example/apps/albireo is not in GOROOT (/opt/go/src/example/apps/albireo)
make: *** [Makefile:7: albireo] Error 1

我在 linux 下使用 go1.8.3。

此致。

这是您在 albireo 文件夹内的 go.mod 文件中的错字。应该是:

module example/apps/albireo

而不是

module example/apps/albiero