mac下设置gopath环境变量
-
Bash
编辑~/.bash_profile文件,添加以下代码
export GOROOT=/usr/local/Cellar/go/1.10.3/libexec
export GOPATH=/Users/chenxingyi/work/go
export GOBIN=
export PATH=$PATH:${GOPATH//://bin:}/bin
保存,然后执行
source ~/.bash_profile
- Zsh
编辑~/.zshrc文件,添加以下代码
export GOROOT=/usr/local/Cellar/go/1.10.3/libexec
export GOPATH=/Users/chenxingyi/work/go
export GOBIN=
export PATH=$PATH:${GOPATH//://bin:}/bin
保存,然后执行
source ~/.zshrc
问题:GOPATH设置不生效
- 正常情况下个以上执行完之后,执行
go env
就能看见自己设置的环境变量了,然而事实却并非如此
我就碰到无论我怎么设置,最后执行source ~/.zshrc 之后环境变量一直是go安装时默认的
GOPATH=/Users/Chenxingyi/go
脑洞想了一下:
1. 是不是我配置的环境变量方式不对?
2. 或者配置的地方不对?
3. 或者其他什么地方也配置了相同的环境变量?
前面两个方法验证了都没问题,最后grep搜索了一下当前什么地方配置了这些GOPATH
[图片上传失败...(image-2d71f2-1534320127015)]
- 罪魁祸首
上面说 GOROOT and GOPATH are set automatically 猜想可能是这里导致的,一看前面gvm,想到了当时安装过gvm,gvm是管理电脑上多个版本go的工具,但是就在这个工具会在
.bash_profile和 .zshrc文件的末尾加上了一段代码:
[[ -s "/Users/ryan/.gvm/scripts/gvm" ]] && source "/Users/ryan/.gvm/scripts/gvm"
最后想到把GVM卸载看看效果,果不其然,卸载完就好了,我们设置的GOPATH生效了
a. rm -rf ~/.gvm
b. 删除.bash_profile和 .zshrc文件的末尾加上的一段代码:
[[ -s "/Users/ryan/.gvm/scripts/gvm" ]] && source "/Users/ryan/.gvm/scripts/gvm"
网友评论