Mac 配置环境变量未生效

用户头像
hepingfly
关注
发布于: 2020 年 10 月 04 日
Mac 配置环境变量未生效

一、环境变量未生效现象说明



今天在 Mac 上更换 JDK 版本的时候,遇到了配置完环境变量后在 iTerm 当前窗口生效了,但是关掉窗口后 JDK 环境变量又失效了的问题。



二、问题重现

1、一般在 Mac 下设置环境变量都是在 ~/.bash_profile 这个文件里面设置。

2、使用 iTerm 打开这个文件,编辑 JDK 的 Java_HOME 的位置,修改为新版本 JDK 的安装路径

3、使用 source ~/.bash_profile 命令,使修改后的环境变量配置文件生效。

4、使用 java -version 命令验证 JDK 版本是否修改成功。

5、发现版本确实修改成功,但是把 iTerm 窗口一关,再使用 java -version 去查看 Java 版本,发现版本又变回之前的老版本了。



三、定位原因

Mac 系统的环境变量是按照一定顺序去加载的。具体加载顺序如下:



这几个配置文件中,① 和 ② 属于系统级别的配置文件,系统一启动就会加载。③ ④ ⑤ 属于用户级别的配置文件,按照顺序依次加载。 ⑥ 是 bash shell 打开的时候载入。



但是如果 ~/.bash_profile 这个配置文件存在,那么后面 ④ ⑤ ⑥ 这几个配置文件就都不会被加载了。



如果你使用的是 zsh 作为默认的 shell ,那么就不会按照上面的顺序去加载配置文件。



四、问题解决

vim ~/.zshrc 编辑这个配置文件

② 添加 source ~/.bash_profile 这行命令

③ 这样 ~/.bash_profile 这个配置文件里面配置信息就可以生效了。



发布于: 2020 年 10 月 04 日 阅读数: 37
用户头像

hepingfly

关注

视频号:hepingfly 分享干货,欢迎关注~ 2018.06.23 加入

B站程序员。目标是做一个有才华,身上有光的男人。

评论

发布
暂无评论
Mac 配置环境变量未生效