背景:正在学习 go ,出现了个报错,stackoverflow 上看到说不需要再设置 goroot 了,于是打算取消这个环境变量,尝试多次失败。 这个环境变量我只在~/.zshenv 下设置了,删除后 source 后,输入 go env 依然可见 goroot 环境变量,go env -w 手动重置显示与系统环境变量冲突。 terminal 使用的是 iterm2+oh my zsh ,自用这电脑以来只修改过~/.zshrc 、~/.zshenv 两个环境变量,~/.zshrc 已恢复初始设置,依然不见这个问题解决。
1
YsHaNg 2021-10-27 20:46:55 +08:00 1
zsh 有 5 个 profile zshenv zprofile zshrc zlogin 有时候还会读 bashrc /etc/profile 都排查一下 链接 zsh.sourceforge.io/Doc/Release/Files.html
|
2
GuuJiang 2021-10-27 22:06:51 +08:00 via iPhone 1
你没有明白 source 的原理,source 仅仅是简单地把目标文件执行一遍而已,从被 source 的文件里删除只是再次 source 时没有了相应的指令,但是原来已经存在的环境变量仍然存在,想要移除有两个方法
1. 新开一个 shell 2. 执行 unset GOROOT |
3
Nitroethane 2021-10-27 22:44:56 +08:00 1
不用管 GOROOT 啊,我执行 `go env`,GOROOT 的值是 `/usr/local/Cellar/go/1.16.3/libexec`,也没什么影响。`echo $GOROOT` 输出空值。
|
4
Hack3rHan 2021-10-28 08:46:57 +08:00 via iPhone 1
删除后 source 不行啊,你 zshrc 里又没写 unset ,其实你删了之后重新开个 Terminal 就好了。
|