【发布时间】:2023-04-10 17:52:01
【问题描述】:
我在 Xcode 7.1 中设置一个新的 React Native iOS 项目时遇到了 PATH 困难。我正在尝试使用ndenv 来管理节点版本,这意味着~/.ndenv/shims 需要在PATH 上。为此,我将 PATH 设置为用户定义的项目设置为$PATH:~/.ndenv/shims。 Xcode 设置 UI 显示正确的扩展 PATH 值。
然而,由react-native init 生成的项目仍然无法构建。自定义构建脚本找不到react-native:
../node_modules/react-native/packager/react-native-xcode.sh: line 36: react-native: command not found
react-native 已正确安装,但构建输出中的环境变量转储清楚地表明 ~/.ndenv/shims 不在 PATH 上。我的 PATH 设置没有出现在构建环境中。但是,如果我设置了一个随机的用户定义设置(例如FOOBAR=baz),那确实会正确显示在构建环境中。
该结果加上对构建环境中 PATH 的进一步检查清楚地表明 Xcode 正在沿线某处覆盖 PATH。
所以按照优先顺序:
- 如何在 Xcode 7 中为自定义构建脚本正确附加到 PATH?
- 或者,在构建脚本的 PATH 上获取 ndenv 管理的 npm 模块的最佳(最简单?)方法是什么?
修改 react-native-xcode.sh 是不可能的,因为这是外部 react-native npm 模块的一部分。
更新 1
作为一种临时解决方法,我已经放弃了 ndenv 并通过自制软件安装了节点。这会将react-native 放在/usr/local/bin 的(显然是硬编码的)Xcode 路径上,并且可以让构建运行。我不会提交或接受此解决方案,因为它不允许对 ndenv 所做的节点版本进行可重复控制。
【问题讨论】:
标签: ios node.js xcode react-native