构建 Go 项目时“package XXX is not in GOROOT”
技术问答
253 人阅读
|
0 人回复
|
2023-09-12
|
当我从这个项目中休息时,出现了一个奇怪的问题。Goland 之后,我在尝试运行我的项目时遇到了很多错误。
- g( |! G* s, [* y, b在构建我的包时,具体的错误是: start.go: package project/game is not in GOROOT (C:\Go\src\project\game)# E4 v( _9 I: E, E6 p
我下面有一个文件夹结构 C:\Users\username
+ {$ d4 B4 P( M" t \. |go|-src |-project |-game |-entity |-whatever.go |-game_stuff.go |-server% K* U2 ~: q9 q4 H8 X3 s
我的环境变量是这样的:) l4 D, k% P/ i* m9 i4 U9 T
GOROOT=C:\Go GOPATH=C:\Users\ketchup\go
6 K$ w' |5 N3 p3 ]3 b0 |( O+ B 我为每个模块(项目/游戏/实体、项目/游戏、项目/服务器)务器)git mod init.
0 c) g f8 u0 a+ `& ?: W在构建时,Goland 将尝试操作:
0 H% Y, V% e! A3 A4 b3 q3 E8 j% iC:\Go\bin\go.exe build -o C:\Users\ketchup\AppData\Local\Temp\___go_build_project_server.exe project/server
0 q) u) T% @* W0 p% _8 g 并返回错误。9 v! G, p, Q7 e0 F* e8 Z* K0 ?: p4 }( u
谁能帮我解决这个问题?有点迷失,因为我上次打开 Goland 运行良好。甚至不确定要看哪个方向 - 我对 Go 还是很奇怪,不确定看什么文档:\谢谢大家!$ v& M8 g' m2 B. ^3 p
% Z g/ [( v* x5 o% V ~' n 解决方案: 4 Y s. u7 g# h9 }
一个非常愚蠢的结论(主要是我的部分),但我的问题来自go mod init每个文件夹都完成了。删除我制作的每个文件夹go.mod删除后,我可以毫无问题地构建(通过终端)go.dep``go mod init
7 h1 E5 t) ?( f% p1 U" N另外,我在 GoLand 中的包没有被检测到,因为我在设置中使用了 Go 模块。GoLand 可以索引外包和我自己的包。 |
|
|
|
|
|