【问题标题】:Getting -bash: mvn: command not found获取 -bash: mvn: command not found
【发布时间】:2010-12-09 00:51:35
【问题描述】:

我尝试在 .profile 文件中设置 Maven PATH,并在终端 (Mac OSX) 中使用导出命令。但是,在运行 mvn 命令时,得到 -bash: mvn: command not found

请帮忙。

【问题讨论】:

  • 您需要在此处进行更多说明。应该是一个简单的修复,但问题帖子中根本没有调试信息。

标签: bash maven-2 macos


【解决方案1】:

您具体设置了什么?您是否设置了这样的 PATH(或类似的东西):

export PATH=$PATH:...:$M2_HOME/bin

如果是,您是否注销并再次登录?根据 bash 手册页:

当 bash 作为交互式调用时 登录外壳,或作为非交互式 带有--login 选项的shell,它 首先从 文件/etc/profile,如果该文件 存在。读取该文件后,它 寻找~/.bash_profile~/.bash_login~/.profile,在那 命令,并读取和执行命令 从第一个存在并且是 可读。 --noprofile 选项可能 在 shell 启动时使用 禁止这种行为。
...
当一个 不是登录的交互式 shell shell 启动,bash 读取并 执行命令 /etc/bash.bashrc~/.bashrc,如果 这些文件存在。这可能是 使用--norc 选项禁止。 --rcfile 文件选项将强制 bash 读取和执行命令 文件而不是 /etc/bash.bashrc~/.bashrc.

如您所见,来自.profile 的命令不会针对非登录 shell(登录后打开的 shell 类型)执行。因此,您必须注销/登录或手动获取文件以考虑您的设置。有关更多详细信息,请参阅此blog post

【讨论】:

  • 在 Mac OS X 上,终端在启动时执行“login -fp $USER”。
  • 所以,您只需要关闭并重新打开终端即可。
  • 啊,很高兴知道。我不是 mac 用户,我不知道“普通”shell 是 mac 上的登录 shell。但实际上,关闭并重新打开终端应该可以解决问题。不过我想看看echo $PATH 的输出。
  • 很好的解释@Pascal Thivent。非常感谢。
【解决方案2】:

您是否已经安装了 Maven?如果您使用MacPorts 安装 Maven,则无需编辑 PATH。

【讨论】:

    猜你喜欢
    • 2019-07-07
    • 2014-07-01
    • 2018-07-18
    • 1970-01-01
    • 2010-11-12
    • 2017-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多