如何使用Go模块修复Go构建错误“无法加载包”?

Nic*_*las 13 go go-build go-modules

我在本教程中使用Go模块设置了一个新项目,然后尝试构建它。

该模块位于$ GOPATH外部的文件夹中,其结构如下:

example.com
??? my-project
??? ??? main
??? ??? ??? main.go
??? ??? go.mod
Run Code Online (Sandbox Code Playgroud)

我已经go mod init example.com/my-project在目录中运行example.com/my-project并创建了上面显示的go.mod文件。

main.go 基本内容:

example.com
??? my-project
??? ??? main
??? ??? ??? main.go
??? ??? go.mod
Run Code Online (Sandbox Code Playgroud)

尝试go build在directory中运行后example.com/my-project,收到以下错误消息:

can't load package: package example.com/my-project: unknown import path "example.com/my-project": cannot find module providing package example.com/my-project

我也尝试go build/之外的目录中运行example.com/my-project,但得到类似的失败结果:

can't load package: package .: no Go files in ...

我可能在某些基本问题上做错了,所以感谢您的耐心配合和提供的任何帮助。

Ita*_*der 4

不需要目录 main,\n只需将 main.go 和 go.mod 移动到 example.com/my-project 即可工作。

\n\n

项目根目录应如下所示:

\n\n
.\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 go.mod\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 main.go\n
Run Code Online (Sandbox Code Playgroud)\n