第一次用 Mac,请教下环境变量问题

2021-10-27 17:36:51 +08:00
 silencil

背景:正在学习 go ,出现了个报错,stackoverflow 上看到说不需要再设置 goroot 了,于是打算取消这个环境变量,尝试多次失败。 这个环境变量我只在~/.zshenv 下设置了,删除后 source 后,输入 go env 依然可见 goroot 环境变量,go env -w 手动重置显示与系统环境变量冲突。 terminal 使用的是 iterm2+oh my zsh ,自用这电脑以来只修改过~/.zshrc 、~/.zshenv 两个环境变量,~/.zshrc 已恢复初始设置,依然不见这个问题解决。

1367 次点击
所在节点    macOS
4 条回复
YsHaNg
2021-10-27 20:46:55 +08:00
zsh 有 5 个 profile zshenv zprofile zshrc zlogin 有时候还会读 bashrc /etc/profile 都排查一下 链接 zsh.sourceforge.io/Doc/Release/Files.html
GuuJiang
2021-10-27 22:06:51 +08:00
你没有明白 source 的原理,source 仅仅是简单地把目标文件执行一遍而已,从被 source 的文件里删除只是再次 source 时没有了相应的指令,但是原来已经存在的环境变量仍然存在,想要移除有两个方法
1. 新开一个 shell
2. 执行 unset GOROOT
Nitroethane
2021-10-27 22:44:56 +08:00
不用管 GOROOT 啊,我执行 `go env`,GOROOT 的值是 `/usr/local/Cellar/go/1.16.3/libexec`,也没什么影响。`echo $GOROOT` 输出空值。
Hack3rHan
2021-10-28 08:46:57 +08:00
删除后 source 不行啊,你 zshrc 里又没写 unset ,其实你删了之后重新开个 Terminal 就好了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/811027

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX