我正在尝试运行一个 xcode 项目,它有一个简单的构建阶段脚本来执行 mvn install
。当我尝试构建时,收到错误 mvn command not found
。但是,如果我在终端 mvn 上运行 mvn -v
。同样,我使用的其他 IDE(例如 Android Studio 和 Eclipse)已在我的 maven 安装中使用。
这让我相信构建阶段脚本可能没有以我的用户身份执行。但是,我找不到关于构建阶段脚本将使用哪个用户或用户是否可配置的任何引用。
为什么 Xcode 没有在我用户路径上的 mvn
上拾取?
更新:
当我执行 whoami
时,我看到脚本以我的用户身份在 xcode 中运行,这让我更加困惑。
另外,感谢 I'L'I 的建议,我发现使用完全限定路径是可行的。我不太确定为什么会这样,因为
最佳答案
提供 mvn 安装的完整路径 (/localpath/bin/mvn) 可能会解决问题,但它可能有一些限制。
您可能不想为 mvn 提供完整路径(可能有本地路径)并将您的项目文件 checkin 到 repo。所有 checkout 您的项目的用户都必须编辑项目文件以将 mvn 指向他们的本地安装。
如果我们不指定完整路径,Xcode 显然会从/usr/bin 目录中选择 mvn。因此,如果我们可以提供从本地安装到/usr/bin/mvn 的软链接(soft link),即使不指定 mvn 的完整路径,Xcode 也会选择 mvn。
创建软链接(soft link)的命令:
sudo ln -sf/Users/chandu/apache-maven-3.3.9/bin/mvn/usr/bin/mvn
使用以下命令验证链接是否已建立:
chandras-MacBook-Pro:~ chandu$ ls -al/usr/bin/mvn
lrwxr-xr-x 1 root wheel 40 May 18 15:14/usr/bin/mvn ->/Users/chandu/apache-maven-3.3.9/bin/mvn
Apple 已在 OSX EL Capitan 上禁用软链接(soft link)。要在 OSX EL Capitan 上进行软链接(soft link),请以恢复模式登录并运行 csrutil disable
,然后以正常模式重新登录并尝试建立软链接(soft link)。还要确保通过登录恢复模式并运行 csrutil enable
您也可以尝试链接到/usr/local/bin/mvn 以避免在 OSX EL Capitan 中执行上述步骤。Xcode 似乎也从/usr/local/bin 路径中获取二进制文件。
关于ios - 构建阶段脚本未在我的 $PATH 中获取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28860596/