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
这个配置文件里面配置信息就可以生效了。
版权声明: 本文为 InfoQ 作者【hepingfly】的原创文章。
原文链接:【http://xie.infoq.cn/article/68ab1c18d6566e9cf04552442】。文章转载请联系作者。
评论