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

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

前情提示

拿到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如下:

image.png


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

目录
相关文章
|
9月前
|
网络安全 开发工具 git
mac git clone命令提示git@gitee.com: Permission denied (publickey).问题修复
mac git clone命令拉取gitee上项目代码时提示密钥问题
|
10月前
|
存储 Java Linux
【Maven】——基础入门,插件安装、配置和简单使用,Maven如何设置国内源
Maven插件安装,Maven项目构建,依赖管理,Haven Help插件,Maven仓库,Maven如何设置国内源
|
12月前
|
Java 测试技术 Maven
maven 打包命令
maven 打包命令
158 6
|
12月前
|
Java 程序员 Linux
Maven的基本安装与使用
Maven的基本安装与使用
283 6
|
12月前
|
Java Linux Maven
IDEA如何用maven打包(界面和命令两种方式)
【10月更文挑战第14天】本文介绍了两种Maven项目打包方法:命令行与IDEA界面。首先确保已安装Maven并配置环境变量,通过`mvn -v`检查安装。命令行打包需进入项目目录,执行`mvn package`,之后在`target`目录查看结果。IDEA打包则需配置Maven路径,打开Maven Projects窗口,双击Lifecycle下的`package`阶段,同样在`target`目录查找生成文件,并在Build窗口查看日志以排查问题。
4322 1
|
Oracle Java 关系型数据库
2022 年超详细过程步骤讲解 CentOS 7 安装Maven。以及Mavne配置文件的修改
这篇文章提供了在CentOS 7上安装Maven的详细步骤,包括从官网下载Maven、创建文件夹、上传和解压Maven安装包、配置环境变量、设置Maven源为阿里云、指定jar包仓库位置、配置JDK版本,并验证安装是否成功。
2022 年超详细过程步骤讲解 CentOS 7 安装Maven。以及Mavne配置文件的修改
|
前端开发 Java Maven
【前端学java】全网最详细的maven安装与IDEA集成教程!
【8月更文挑战第12天】全网最详细的maven安装与IDEA集成教程!
366 2
【前端学java】全网最详细的maven安装与IDEA集成教程!
|
11月前
|
Java 测试技术 项目管理
maven编译本地代码的命令是什么?
【10月更文挑战第26天】maven编译本地代码的命令是什么?
431 0
|
12月前
|
Linux
linux/mac 下查看、修改文件权限的命令
这篇文章介绍了在Linux和Mac操作系统下如何查看和修改文件及文件夹的权限。
595 0
|
网络协议
Mac根据端口查询进程id的命令
这篇文章介绍了在Mac操作系统上如何使用两种命令来查询监听特定端口的进程ID。第一种方法是使用`netstat -anp tcp -v | grep 端口号`,例如`netstat -anp tcp -v | grep 80`,这将列出所有使用端口80的TCP连接及其相关信息。第二种方法是使用`lsof -P -n -i:端口号`,例如`lsof -P -n -i:8080`,这将显示使用指定端口的进程列表,包括进程ID、用户、文件描述符等信息。文章通过示例展示了如何使用这些命令,并提供了输出结果的截图。
889 2

推荐镜像

更多
下一篇
日志分析软件