构建 Go 项目时出现“Package XXX is not in GOROOT”
调试“package project/game is not in GOROOT”错误需要了解 Go 模块和项目布局的概念。
Go 模块和项目结构:
在较新版本的 Go(1.13 后)中,Go 模块用于管理包依赖项。 Go 模块通常是包含 go.mod 文件和源代码的目录。 go.mod 文件声明了模块的名称、其依赖项以及它在文件系统中的位置。
解决问题:
检查构建命令:
验证 Goland 用于构建项目的命令。它应该类似于:
go build -o C:UsersusernameAppDataLocalTemp___go_build_project_server.exe project/server
此命令不应指定 GOROOT 标志。
嵌套的工作流程包:
如果您的项目有嵌套包,例如“项目/游戏/实体”,您应该遵循以下附加步骤:
导入子目录中的包:
在子目录的源代码中,从父模块导入包使用语法:
导入"parent/submodule"
按照以下步骤,您可以解决“包项目/游戏不在 GOROOT 中”错误,并使用嵌套包正确构建 Go 项目。
以上是为什么我的Go项目显示'Package XXX is not in GOROOT”?的详细内容。更多信息请关注PHP中文网其他相关文章!