Joh*_*ley 5 xcode node.js ios react-native
我遇到了在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.
所以按优先顺序排列:
修改react-native-xcode.sh是不可能的,因为它是外部react-native npm模块的一部分.
更新1
作为一个临时的解决方法,我已经通过自制程序获得ndenv和安装节点.这会react-native
在(显然是硬编码的)Xcode路径上进行/usr/local/bin
,并且可以使构建运行.我不会提交或接受这个作为解决方案,因为它不允许对ndenv执行的节点版本进行可重复控制.
当facebook/react-native#5518登陆时,这个问题得到了有效解决。 现在遵循 NODE_BINARY 环境变量,该变量告诉它在构建系统上react-native-xcode.sh
的位置。node
在应用程序的目标下,请参阅构建阶段 > 捆绑 React Native 代码和图像,并将 shell 脚本代码设置为:
export NODE_BINARY=$HOME/.ndenv/shims/node
../node_modules/react-native/packager/react-native-xcode.sh
Run Code Online (Sandbox Code Playgroud)
如果您node
位于其他位置,请更改 NODE_BINARY 的值以适合您的安装。以下是 Xcode 7.1 的屏幕截图,用于帮助导航:
归档时间: |
|
查看次数: |
1077 次 |
最近记录: |