ios - 构建阶段脚本未在我的 $PATH 中获取

标签 ios xcode maven

我正在尝试运行一个 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

来启用 SIP

您也可以尝试链接到/usr/local/bin/mvn 以避免在 OSX EL Capitan 中执行上述步骤。Xcode 似乎也从/usr/local/bin 路径中获取二进制文件。

关于ios - 构建阶段脚本未在我的 $PATH 中获取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28860596/

相关文章:

ios - 无法将 Fabric 应用链接到 Firebase Crashlytics

ios - 用户进入特定区域时如何获取本地通知提供的 ios

swift - 为什么移动到新场景时蓝牙会断开?

java - 排除来自 Jenkins 的自动电子邮件的电子邮件附件中的特定文件

ios - NSString 的不可见字符

ios - 加载时 UITextView 未滚动到顶部

node.js - 如何在 Electron 应用程序中嵌入 mac 应用程序扩展?

ios - Youtube 解雇事件(iOS)

java - Maven:将一些依赖项复制到库目录中,并将其他依赖项合并到输出 JAR 中

java - 在 Maven 构建期间需要一个好的 "home"目录用于 web-app