尝试构建 Go 项目时出现问题,并且出现以下错误:“包项目/游戏不在 GOROOT 中(C:Gosrcprojectgame)"。
此错误通常发生在以下情况:
1。配置环境变量
如果升级到较新的Go版本(1.13),不再推荐使用GOROOT、GOBIN、GOPATH等环境变量。
2.正确的项目结构
确保您的项目在项目根目录下有一个 go.mod 文件以及以下目录结构:
|- project |- game |- entity |- game_stuff.go |- server
3.使用 go mod
不要依赖环境变量,而是使用 Go Modules(go mod)来管理模块依赖关系。
cd project go mod init remote-repo.com/username/repository
4.从模块根目录运行命令
命令应从项目根目录执行。例如:
go run server
5。指定完整模块路径
使用 go 命令时,尤其是从模块根外部使用时,请指定完整的包路径,其中包括供应商 URI。例如:
go test github.com/username/repository/project/game/entity
6。如果需要,设置 GOPATH(可选)
对于较旧的 Go 版本,您可以选择将 GOPATH 设置为项目所在的工作空间路径。确保 GOPATH 指向正确的路径。
GOPATH=C:\Users\username\go
示例
在提供的目录结构中构建服务器包:
cd project/server go build project/server
此命令应该成功构建服务器包,并且不会出现“package XXX is not in GOROOT”错误。
以上是为什么我在构建 Go 项目时出现'package XXX is not in GOROOT”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!