Bootstrap

Mac 配置环境变量未生效

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

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

二、问题重现

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

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

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

4、 命令验证 JDK 版本是否修改成功。

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

三、定位原因

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

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

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

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

四、问题解决

① 编辑这个配置文件

② 添加 这行命令

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