当我从这个项目中休息时,出现了一个奇怪的问题。启动 Goland 后,我在尝试运行我的项目时遇到了很多错误。
在构建我的一个包时,具体错误是: start.go: package project/game is not in GOROOT (C:\Go\src\project\game)
我在 C:\Users\username
go
|-src
|-project
|-game
|-entity
|-whatever.go
|-game_stuff.go
|-server
我的环境变量是这样的:
GOROOT=C:\Go
GOPATH=C:\Users\ketchup\go
对于每个模块(项目/游戏/实体、项目/游戏、项目/服务器),我做了一个 git mod init
。
构建时,Goland 将尝试运行:
C:\Go\bin\go.exe build -o C:\Users\ketchup\AppData\Local\Temp___go_build_project_server.exe project/server
并返回错误。
谁能帮我解决这个问题?自从我上次打开 Goland 时它运行良好,我有点迷茫。甚至不确定要看什么方向 - 我是 Go 的新手,我不确定要看什么文档:\ 谢谢大家!
原文由 Michael Shum 发布,翻译遵循 CC BY-SA 4.0 许可协议
一个非常愚蠢的结论(主要是我的部分),但我的问题来自于在每个文件夹中完成了
go mod init
。从我做的每个文件夹中删除go.mod
和go.dep
之后go mod init
中,我可以毫无问题地构建(通过终端)另外,我在 GoLand 中的包没有被检测到,因为我在设置中启用了 Go 模块。我禁用了它,GoLand 能够索引外部包和我自己的包。