命令未找到 - Oh-My-Zsh

65
我最近在我的Mac电脑上安装了zsh和oh-my-zsh。现在,当我尝试从终端运行一个maven命令时,出现以下错误。

我最近在我的Mac电脑上安装了zsh和oh-my-zsh。现在,当我尝试从终端运行一个maven命令时,出现以下错误。

$ mvn install
zsh: command not found: mvn

我已经在/Applications目录下安装了Apache maven。目前我的.zshrc文件内容如下。

plugins=(git brew pip mvn mysql-macports python sublime tmux osx)

# ####################
# Maven Config Options
# ####################
export M2_HOME=/Applications/apache-maven-3.3.3
export PATH=$PATH:M2_HOME/bin

如上所述,我将Maven安装位置添加到了路径中。但我仍然收到错误信息。感谢任何帮助。


3
请注意我添加的 $ 符号。另外,不需要使用 export 命令;在 Bash、Zsh 等 shell 中,export 只需要设置一次即可,并且它只是设置了一个标志。翻译后的内容为:将 $M2_HOME/bin 添加到 $PATH 变量中。请注意 $ 符号。不需要使用 export 命令;export 命令只需要设置一次标志即可。 - 4ae1e1
23个回答

95

问题:

➜ ~ mvn

zsh: command not found: mvn

答案:

步骤一:
vim ~/.zshrc
步骤二:(在文件末尾添加)
source ~/.bash_profile;
步骤三:(执行 shell)
> source ~/.bash_profile

您可以使用mvn:

➜  / mvn

[INFO] Scanning for projects...
.......

24
为什么这是被接受的答案?在.zshrc文件中引用bash_profile只是一个短期解决方案,可能会在以后导致问题。Bashzsh是完全不同的shell,各自拥有自己的配置文件。更多信息请参见zsh入门页面 - compuphys
2
现在,您将获得.zshrc.pre-oh-my-zsh文件,其中包含在安装oh-my-zsh之前的所有导出内容,这些内容将保存在该文件中。因此,您可以从那里获取它们,并将其包含在您新覆盖的.zhrc文件中,以便为您启用命令。享受吧! - Shamendra
@compuphys你会建议什么答案呢?我很好奇。从我所看到的,一旦在.zshrc中引用了bash_profile,现在在zshrc中可用的所有路径以及将来用户只会使用zsh来安装他们想要的任何工具。我不确定我是否在这里看到了问题,也没有看到你的长期解决方案。 - Tarnished-Coder
1
谢谢。它起作用了,但是我对你用于步骤的格式有点困惑,我认为最好不要将步骤标记为代码,因为这会让人感到困惑。 - Herii
添加什么?这只是一个部分答案。 - shinzou
显示剩余2条评论

61

只需添加:

source ~/.bash_profile

到 .zshrc 文件


你救了我的命。谢谢,它能够使用 source ~/.profile - khalid khuz nain
6
这个方法有效,但在.zshrc文件中调用sourcing bash_profile只是一个短期解决办法,可能会在以后造成问题。Bashzsh是完全不同的shell,并有各自的配置文件集合。详细信息请参见zsh介绍页面 - compuphys
1
实际上并没有修复任何东西,仍然没有库,也没有bash_profile。 - tikej

29

在安装了 oh-my-zsh 后,我使用 adb 命令时遇到了类似的问题。看起来是 oh-my-zsh 安装后 PATH 被缩短了。我通过以下步骤解决了这个问题。

  1. 打开 .zshrc 文件

  2. sudo nano ~/.zshrc
    
  3. 寻找# 用户配置

    取消以下行的注释:

  4. export PATH="/usr/bin:/bin:/usr/sbin:/sbin:$PATH"
    
  5. 保存文件。

  6. source ~/.zshrc

尝试使用此方法解决其他类似的“command not found”错误。


18

请尝试以下步骤:

打开终端并运行命令vi ~/.zshrc

在文件中添加以下行:

export M2_HOME=/Users/<username>/Downloads/apache-maven-3.6.3 
export PATH=${M2_HOME}/bin:${PATH} 
export PATH

文件保存成功

打开另一个终端实例并运行命令mvn -version

应该可以正常工作!


8

步骤1:打开zshrc文件

sudo nano ~/.zshrc

步骤二:在插件部分添加'mvn'

plugins=(git zsh-autosuggestions mvn)

第三步:在zshrc文件中添加maven配置。(请确保您的Apache Maven解压目录。我已经解压到/opt文件夹中
# Maven Config Options
export M2_HOME=/opt/apache-maven-3.8.4
export M2=$M2_HOME/bin
export PATH=$M2:$PATH

步骤四:保存更改

ctrl+o
ENTER
ctrl+z

步骤五:重新加载 zshrc 文件

source ~/.zshrc

步骤6:打开终端并进行验证。

mvn -v

输出:

Apache Maven 3.8.4
 Maven home: /opt/apache-maven-3.8.4
 Java version: 11.0.11, vendor: Ubuntu, runtime: /usr/lib/jvm/java-11- 
 openjdk-amd64 Default locale: en_IN, platform encoding: UTF-8 OS name: 
 "linux", version: "5.4.0-89-generic", arch: "amd64", family: "unix"

谢谢。我已经正确安装并移动到/opt。但是这个额外的配置还留下了。它完美地工作了。我正在使用Mac M1,Maven 3.8.6。 - rahulxyz

7

我认为上面的回答太深奥了。可能是因为这个人没有在本地电脑上安装Maven。请在终端上运行以下命令:

brew install maven

然后在您的IntelliJ或项目所在的终端上运行以下命令:

mvn clean install

使用以下命令进行双重检查是否已安装 mvn --version


5
@4ae1e1在评论中所述,当在PATH变量中引用M2_HOME时,必须在其前添加$,如下所示:
export M2_HOME=/Applications/apache-maven-3.3.3
export PATH=$PATH:$M2_HOME/bin/

像别人建议的那样添加后,需要导入~/.zshrc文件。


4
  • 首先,正如4ae1e1所指出的那样,在PATH=$PATH:M2_HOME/bin中你漏掉了$
  • 其次,不要忘记运行source ~/.zshrc以立即使设置生效。

3

如果你使用的是Mac电脑,你可以使用Homebrew来安装Maven及其所有路径。使用方法如下:

brew install maven

3

我遇到了完全相同的问题,这是对我有效的解决方法:

  1. sudo nano ~/.zshrc

  2. add this:

    export PATH=your maven path/apache-maven-3.6.3/bin:/usr/bin:/bin:/usr/sbin:/sbin
    
  3. Ctrl+X, select "Y", Press Enter

  4. source ~/.zshrc

  5. Validate: mvn -version


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接