Go 模块错误:包不在 GOROOT
问题:
运行 go run 时main.go,用户遇到以下情况错误:
package package1 is not in GOROOT (/usr/local/go/src/package1)
原因:
当 Go 模块系统无法在 GOROOT 目录中找到指定的包时,就会出现此错误。
解决方案:
要解决此问题,请确保环境变量为正确配置。应遵循以下步骤:
配置 GOPATH:
设置GOPATH 环境变量指向此目录:
export GOPATH=/mnt/sda1/programming/gopath
调整 GOROOT:
确保GOROOT设置为系统安装的Go root目录:
export GOROOT=/usr/local/go
将 GOROOT 添加到 PATH:
将 GOROOT 添加到路径环境变量:
export PATH=$PATH:$GOROOT/bin
启用 Go 模块:
设置 GO111MODULE 环境变量到on:
export GO111MODULE=on
更新 Bashrc:
加载 .bashrc 文件终端:
source ~/.bashrc
重新初始化模块:
创建包目录:
导入包:
在main.go中,导入package:
import "main/package1"
再次加载 bashrc:
完成这些步骤后,包 package1 is not in GOROOT 错误应该得到解决,并且 main.go 文件应该成功运行。
以上是Go 模块错误:为什么'package package1 is not in GOROOT”以及如何修复它?的详细内容。更多信息请关注PHP中文网其他相关文章!