构建 Go 项目时“package XXX is not in GOROOT”
技术问答
208 人阅读
|
0 人回复
|
2023-09-12
|
当我从这个项目中休息时,出现了一个奇怪的问题。Goland 之后,我在尝试运行我的项目时遇到了很多错误。! }) d% p% [, m4 e$ g
在构建我的包时,具体的错误是: start.go: package project/game is not in GOROOT (C:\Go\src\project\game)
, `' K _4 M( |我下面有一个文件夹结构 C:\Users\username
' d O1 k( l2 e1 Z: Ago|-src |-project |-game |-entity |-whatever.go |-game_stuff.go |-server
2 V/ `) U5 k# k+ g2 R' @- R# z 我的环境变量是这样的:/ x% A5 u6 m: G; W
GOROOT=C:\Go GOPATH=C:\Users\ketchup\go
2 w- o, k7 Z& Y0 Q( [5 b) ]8 s 我为每个模块(项目/游戏/实体、项目/游戏、项目/服务器)务器)git mod init.+ R1 u. K, a! a1 f+ v* x
在构建时,Goland 将尝试操作:' n2 a, S% I5 |
C:\Go\bin\go.exe build -o C:\Users\ketchup\AppData\Local\Temp\___go_build_project_server.exe project/server
- r# ?2 l1 u2 L3 X! B 并返回错误。& Y p+ Z* L. `9 q. G& x% e0 w: R
谁能帮我解决这个问题?有点迷失,因为我上次打开 Goland 运行良好。甚至不确定要看哪个方向 - 我对 Go 还是很奇怪,不确定看什么文档:\谢谢大家!
* i# f) n0 v# M" ^& D
# K) Y% P& h( e$ J 解决方案:
1 M- h* h5 U5 Y/ V" o5 ^; d! Q 一个非常愚蠢的结论(主要是我的部分),但我的问题来自go mod init每个文件夹都完成了。删除我制作的每个文件夹go.mod删除后,我可以毫无问题地构建(通过终端)go.dep``go mod init$ o# G. V- O7 z! ?& ^8 b
另外,我在 GoLand 中的包没有被检测到,因为我在设置中使用了 Go 模块。GoLand 可以索引外包和我自己的包。 |
|
|
|
|
|