Linux中环境GO的环境变量
使用 Linux 命令配置
以GOPATH举例
方式1
~# echo $GOPATH # 未配置环境
~# go env|grep GOPATH # 查看GOPATH, 是默认值
GOPATH="/root/go"
~#
~# export GOPATH=/root/gos # 配置环境变量
~#
~# echo $GOPATH # 查看环境变量, 已改变
/root/gos
~#
~# go env|grep GOPATH # 查看GOPATH, 已改变
GOPATH="/root/gos"
~#
结论: export GOPATH=/root/gos 可更改go env
注意:
1、使用export方式设置的环境变量, 仅对当前终端起作用, 关闭当前终端环境变量失效, 不关闭当前终端也不会影响其他新开终端的环境变量;
2、想要永久生效请将命令export GOPATH=/root/gos写入 .bashrc 或 .profile中
3、如果想要取消该环境变量, 执行命令unset GOPATH , 或者从 .bashrc 或 .profile中删除export GOPATH=/root/gos后再执行source命令
使用 go env 命令配置
~# go env|grep GOPATH # 查看GOPATH, 是默认值
GOPATH="/root/go"
~#
~# go env -w GOPATH=/root/gos # 配置环境变量
~#
~# cat ~/.config/go/env # 环境变量已写入配置文件
GOPATH=/root/gos
~#
~# go env|grep GOPATH # 查看GOPATH, 已改变
GOPATH="/root/gos"
~#
~# go env -u GOPATH # 取消配置环境变量
~#
~# cat ~/.config/go/env # 环境变量已从配置文件中删除
~#
~# go env|grep GOPATH # 查看GOPATH, 已变成默认值
GOPATH="/root/go"
~#
~# export GOPATH=/root/gos
~# go env -w GOPATH=/root/go
warning: go env -w GOPATH=... does not override conflicting OS environment variable
~#
结论:
1、此go env -w的方式配置环境变量, 会写入配置文件并永久生效, 想要撤销需要执行命令go env -u
2、go env -w的方式和通过命令export永久生效的效果一样, 区别就是写入的文件(前者是~/.config/go/env, 后者是~/.bashrc或~/.profile)和管理方式(前者是go管理,后者是linux管理)
3、go env -w的优先级比export低, 如果先用export配置了环境变量, go env -w不会生效