问题
安装完go环境,配置好GOROOT和GOPATH后。写个代码,报错package code/pkg/myMath is not in GOROOT
,编译器没有去gopath下找包。
诸如 package **** is not in GOROOT
这样的问题,是因为安装完GO环境后,默认情况下GO111MODULE=""
GO环境下有gomod 和 gopath 两个包管理方案,并且相互不兼容,
- 在 gopath 查找包,按照 goroot 和多 gopath 目录下 src/xxx 依次查找。
- 在 gomod 下查找包,解析 go.mod 文件查找包,mod 包名就是包的前缀,里面的目录就后续路径了。在 gomod 模式下,查找包就不会去 gopath 查找,只是 gomod 包缓存在 gopath/pkg/mod 里面。
解决办法
// 把GO111MODULE置为off就行了
go env -w GO111MODULE=off
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之家整理,本文链接:https://www.bmabk.com/index.php/post/15978.html