macOS执行maven命令报 zsh: command not found: mvn

在macOS系统中,执行maven命令时遇到'zsh: command not found: mvn'的问题。解决方法包括配置环境变量,将.mvn路径添加到.zshrc文件中,或者在没有.zshrc文件的情况下创建并替换为.zshenv。重启终端后,maven命令可以正常运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题出现背景

新版的macOS系统配置好了Java开发环境后,想要在命令行里执行maven相关的命令,却发现报了这个错:zsh: command not found: mvn,第一反应这是没有配置maven环境变量啊!那就配一下吧。

配置环境变量

在命令行里照着熟悉的方式反手秀了一顿操作:

vim ~/.bash_profile
# 这里的maven目录是安装的目录,你的可能不一样,以实际的为准
export PATH=$PATH:~/maven/bin
# 加上这句让新的环境变量生效
source .bash_profile

然后验证一下配置是否生效,在命令行自信地敲出:mvn -v,不出意外会得到类似如下结果:

Apache Maven 3.8.3 (ff8e977a158738155dc465c6a97ffaf31982d739)
Maven home: /Users/codeboyzhou/maven
Java version: 1.8.0_312, vendor: Temurin, runtime: /Library/Java/JavaVirtualMachines/temurin-8.jdk/Contents/Home/jre
Default locale: zh_CN, platform encoding: UTF-8
OS name: "mac os x", version: "10.16", arch: "x86_64", family: "mac"

本以为到这里就结束了,内心还暗自高兴了一波,又解决了一个问题。但是当去到IDEA内置的命令行里执行这个命令时,现实却无情打脸,这个问题又在报了:zsh: command not found: mvn,啥情况?

大致想了一下,猜想是新版的macOS系统默认使用的是zsh,而.bash_profile文件这种配置环境变量的方法是老版本系统和Linux系统下采用的,会不会不兼容呢?试试看吧,怎么试呢?

⚠️注意:如果你的系统里本身已经有了.zshrc这个文件,先不要盲目执行下面这个操作,跳过这里往下看

在命令行里执行mv ~/.bash_profile ~/.zshrc,做个文件替换,再执行一下source ~/.zshrc让环境变量生效,理论上应该是没问题了🤔重启一下IDEA,再次打开终端窗口,自信地敲下mvn -v,成了,如愿地看到了预期的输出,确认问题到此已经得到解决。

后续总结思考

翻看网络上的其它文章,有提到说zsh是可以兼容.bash_profile文件的,只是在启动时没有自动加载这个文件,可以在.zshrc文件的最后一行加上source ~/.bash_profile命令,让其每次启动终端时都自动生效。实际测试了一下,这种方法也是可行的。

只是对于我当时的场景来说,我的系统里本身是没有.zshrc文件的,重命名文件的方式能够最快解决我的问题,并且也无需担心会覆盖其它已有配置,相比之下操作起来也更加简洁。具体采用哪种方案来解决这个问题,可以依据实际的情况和个人偏好来决定。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值