mac安装maven后mvn命令可用,一段时间后又遇到zsh: command not found: mvn的问题

前情提示 拿到mac后 直接安装了maven 在 ~/.bash_profile配置了环境变量 生效了maven配置 source ~/.bash_profile mvn命令就可用了

问题

新打开终端,执行

代码语言:javascript代码运行次数:0运行复制
mvn -v

报错:

代码语言:javascript代码运行次数:0运行复制
zsh: command not found: mvn

初次解决

重新执行source ~/.bash_profile后,恢复正常。

再次打开终端执行

代码语言:javascript代码运行次数:0运行复制
mvn -v

还是报同样的错

治本解决办法

执行如下命令:

代码语言:javascript代码运行次数:0运行复制
vim ~/.zshrc

这里如果没有对应文件,会自动创建,然后在文件末尾添加即可

代码语言:javascript代码运行次数:0运行复制
source ~/.bash_profile

之后再打开新终端窗口,直接mvn -v就没有问题了

根因

这么奇怪的根因是什么,貌似.bash_profile文件只是用户暂时权限,.zshrc才是系统权限

看官方解释:

默认情况下,您的 Mac 使用 zsh 或 bash 作为登录 Shell 和交互式 Shell 的命令行解释器: 从 macOS Catalina 版开始,zsh (Z shell) 是所有新建用户帐户的默认 Shell。 bash 是 macOS Mojave 及更低版本中的默认 Shell。

根据官方引导,查看了下我的默认Shell如下:

果然根因就在这里了,解决!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2025-04-07,如有侵权请联系 cloudcommunity@tencent 删除maczsh终端mavencommand