Go引入包报错 package ... is not in GOROOT
Posted 君记否
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Go引入包报错 package ... is not in GOROOT相关的知识,希望对你有一定的参考价值。
配置GOPATH
GOPATH是一个环境变量,是GO项目的存放路径
GOROOT为go安装路径
添加环境变量
vim ~/.bash_profile
vim编辑器按 i 进入编辑模式
按Esc退出编辑模式,:wq 报错退出
环境变量添加保存之后,执行以下命令让配置生效
source ~/.bash_profile
查看go环境变量配置
go env
配置后还是报相同的错,编译器没有去gopath下找包,查了一下原因是GO111MODULE没有关, gomod 和 gopath 两个包管理方案,并且相互不兼容,在 gopath 查找包,按照 goroot 和多 gopath 目录下 src/xxx 依次查找。在 gomod 下查找包,解析 go.mod 文件查找包,mod 包名就是包的前缀,里面的目录就后续路径了。在 gomod 模式下,查找包就不会去 gopath 查找,只是 gomod 包缓存在 gopath/pkg/mod 里面。
解决方法:把GO111MODULE置为off,打开终端输入即可
go env -w GO111MODULE=off
以上是关于Go引入包报错 package ... is not in GOROOT的主要内容,如果未能解决你的问题,请参考以下文章
“package ‘******’ is not available for this version of R“——Rstudio下载包报错
“package ‘******’ is not available for this version of R“——Rstudio下载包报错
eclispe集成Scalas环境后,导入外部Spark包报错:object apache is not a member of package org