package xxx is not in GOROOT

2021-05-02 Issues
  • Issue:Golang
小于 1 分钟

问题描述:由于刚刚接触golang,在尝试导入一个本地包时,出现了下面的错误:

package gocode/testProject01/unit2/demo01/test is not in GOROOT (D:\GoSdk\src\gocode\testProject01\unit2\demo01\test)
1

出现这个错误的原因是:编译器没有去``$GOPATH下找包,go有gomodgopath两个包管理方案,并且相互不兼容。环境变量GO111MODULE`控制使用哪一种方式。

# 方式一

解决方式:把GO111MODULE置为off

# 设置环境变量
go env -w GO111MODULE=off

# 查看环境变量
go env
1
2
3
4
5

相关信息

go项目需要设置$GOPATH环境变量,值指向你的工程目录。

总结:

  • 若是要用$GOPATH模式引入包从src目录下开始引入须要关闭 go mod 模式.

    export GO111MODULE=off
    
    1
  • 若是使用go mod 模式,则需要开启并在目录下执行``go mod init`,不然会报错。

    export GO111MODULE=on
    
    1

# 方式二

更改ide设置,关闭go module。

位置:File | Settings | Go | Go Modules

取消勾选:Enable Go modules integration

上次编辑于: 2023年7月4日 09:36