美文网首页
package 'xxx' is not in GOROOT

package 'xxx' is not in GOROOT

作者: 亦是旅人呐 | 来源:发表于2021-10-19 01:13 被阅读0次

解决cannot find module providing package

目录

1,项目是mod模式
2,项目未开启mod模式

编译或run go工程时报该错,首先查看环境变量 go env 看GO111MODULE是什么状态。

分为两种情况处理:

1,项目是mod模式

a) 如果GO111MODULE=on,则看看工程下面是否有go.mod文件,如果没有则go mod init一下,完事后 go mod tidy即可;

b) 如果GO111MODULE=on,且有go.mod,则直接go mod tidy;

c) 如果GO111MODULE=off,则开启mod模式 export GO111MODULE="on",然后继续走a)

d) 还有一种情况,本地go mod项目如果想手动传到linux上进行编译运行,若直接把go.mod文件直接传上去,则也会报这个错,正确的做法是在Linux目录下新创建该项目并执行go mod init ,然后把本地工程所有文件包括go.mod传上去再build,这时候就正常了哦


2,项目未开启mod模式
此时默认从$GOPATH下扫描,如果是在linux下编译或运行,则关闭GO111MODULE:

export GO111MODULE="off"
source /etc/profile

关闭后可go env再查一查是否生效;

如果是在goland下,则去掉该按钮-->ok -->鼠标空白处点点即可正常:


————————————————
版权声明:本文为CSDN博主「_七里香」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/HYZX_9987/article/details/119030227

相关文章

网友评论

      本文标题:package 'xxx' is not in GOROOT

      本文链接:https://www.haomeiwen.com/subject/oksloltx.html