0

我对 mac 比较陌生,现在正在尝试设置开发人员。基于 Cordova 的 iOS 应用程序的环境。我正在使用优胜美地 10.10.3

我已经安装了 xcode 6.3.1 和 6.3.1 的命令行工具,在 /Applications/Xcode.app/Contents/Developer/ 下我可以看到 usr/bin 和 usr/lib,xcode-select -p 也指向这个路径,所以我认为命令行工具很好。

但是,当我运行 xcodebuild 时,找不到命令。我已经手动将上面的路径添加到 PATH 环境变量中以使 xcodebuild 可见,但不确定为什么需要这样做,我认为安装应该已经解决了这个问题。

然后,当 xcrun 在某个脚本( npm install -g ios-deploy )中执行时,我收到以下错误:

dyld:库未加载:@rpath/libxcrun.dylib 引用自 /usr/bin/xcrun,原因:找不到图像。

我看到 xcrun 在 /usr/bin 以及命令行工具安装路径下的 usr/bin 中可用。但 libxcrun.dylib 仅在安装路径中可用。

我手动将此动态库复制到 /usr/lib 并且 xcrun 工作。

虽然它似乎工作但我怀疑,这样的手动操作不应该是正常的安装后程序,不是吗?

命令行安装后有什么我忘了做的吗?如果我需要复制/移动更多这样的小文件怎么办?我可以简单地在某处指定安装路径吗?

顺便说一句,我将安装路径/usr/lib 添加到 PATH 中,但不适用于 xcrun,必须复制 .dylib。

还有其他mac的Xcode和CLT是从以前的版本升级的,没有这个问题。

4

1 回答 1

0

好吧,经过一些试用后,我已经通过 npm 安装了 ios-deploy。我不确定我所做的是否是首选解决方案,对我来说这更像是一种解决方法。

首先,据我所知,如果它是从以前版本的 CLT 或 Xcode 升级的,则不存在此类问题,尽管所有可执行行为都是相同的。

例如将使用/usr/bin/xcrun,而/usr/lib 没有libxcrun.dylib,而@executable_path=../lib,表示xcrun 正在../lib 位置寻找库。

通常会出现库未加载错误,但在升级后的情况下,某些隐藏设置告诉 xcrun 在正确路径中搜索库。

我试过 DYLD_LIBRARY_PATH,使用 gcc 和 xcrun,但没有使用 npm install。我目前只能通过将 lib 文件复制到 /usr/lib 来修复错误。

好吧,我仍然收到“无法从我们自己的路径 (/usr/bin/xcrun) 推断开发人员目录”警告,即使我已将 DEVELOPER_DIR 设置为正确的,并且 xcode-select -p 显示相同。

但是这个警告似乎对 npm install -g ios-deploy 没有伤害......因此我现在可以忍受它。

所以谜团一直存在。我仍然不知道为什么必须使用 /usr/bin/xcrun 而不是 CLT/usr/bin/xcrun,我仍然不知道在升级的情况下 /usr/bin/xcrun 是如何找到正确的库的文件并没有发出任何警告。新安装和升级有什么区别?

这个答案只是提供了一种解决方法来继续,而无需在机器上重新创建所有内容。

附加信息:

如评论所示,后来我发现ios-sim无法正常工作,总是出现异常崩溃,因此我不得不重新安装操作系统并重新开始。问题消失了。现在我能记住的唯一区别是我上次在 OS 和 xcode 之间安装了 mac 端口。我的建议是,在操作系统之后立即安装 Xcode,以避免意外的系统更改。

于 2015-05-10T13:28:47.653 回答