$GOPATH not set. For more details see: go help gopath
程序员文章站
2022-05-19 10:45:17
...
问题
今天在ubuntu
上安装 go
依赖时报错,执行命令如下:
sudo go get github.com/gorilla/mux
$GOPATH not set. For more details see: go help gopath
分析
因为sudo
我们使用了root
的环境,而我们没有在root
的.bashrc
文件中设置GOPATH
。
查看环境配置:
go env
需要注意的是GOPATH
变量的值GOPATH=/www/wwwroot/default/goCode
,GOPATH是go get
指令默认下载和安装包的位置,通过go get
指令,获取go
的包,默认下载到GOPATH
所指示的目录中。
解决方案
方式一:直接go get xxx即可。
这种方式需要设置目录权限。到GOPATH
目录下的src -> github.com 目录下:
sudo chmod -R 777 ./*
然后再安装相应的包
go get github.com/gorilla/mux
方式二:在/etc/profile文件中添加GOPATH变量。
修改/etc/profile
文件
sudo vim /etc/profile
在文件最后面加上:export GOPATH=/www/wwwroot/default/goCode
编辑完成后在终端运行如下命令,使文件立刻生效,
source /etc/profile
方式三:sudo env GOPATH=/opt/go go get github.com/nsf/gocode,命令里面手动给出GOPATH变量值。
举个拉取 go-sql-driver
的栗子:
sudo env GOPATH=/www/wwwroot/default/goCode go get github.com/go-sql-driver/mysql
以上三种方式都可以解决$GOPATH not set
问题,这样就可以拉取需要的go
依赖包了。