前情提示
拿到mac后
直接安装了maven
在 ~/.bash_profile配置了环境变量
生效了maven配置 source ~/.bash_profile
mvn命令就可用了
问题
新打开终端,执行
mvn -v
报错:
zsh: command not found: mvn
初次解决
重新执行source ~/.bash_profile后,恢复正常。
再次打开终端执行
mvn -v
还是报同样的错
治本解决办法
执行如下命令:
vim ~/.zshrc
这里如果没有对应文件,会自动创建,然后在文件末尾添加即可
source ~/.bash_profile
之后再打开新终端窗口,直接mvn -v就没有问题了
根因
这么奇怪的根因是什么,貌似.bash_profile文件只是用户暂时权限,.zshrc才是系统权限
看官方解释:https://support.apple.com/zh-cn/HT208050
默认情况下,您的 Mac 使用 zsh 或 bash 作为登录 Shell 和交互式 Shell 的命令行解释器: 从 macOS
Catalina 版开始,zsh (Z shell) 是所有新建用户帐户的默认 Shell。 bash 是 macOS Mojave
及更低版本中的默认 Shell。
根据官方引导,查看了下我的默认Shell如下:
果然根因就在这里了,解决!