ios – 在OS X上使用ndenv设置React Native

ios – 在OS X上使用ndenv设置React Native,第1张

概述我遇到了在 Xcode 7.1中设置新的React Native iOS项目的PATH困难.我正在尝试使用 ndenv来管理节点版本,这意味着〜/ .ndenv / shims需要在PATH上.为此,我将PATH设置为用户定义的项目设置为$PATH:〜/ .ndenv / shims. Xcode设置UI显示正确的扩展PATH值. 然而,由react-native init生成的项目仍然无法构建. 我遇到了在 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模块的最佳(最少Hacky?)方法是什么?

修改react-native-xcode.sh是不可能的,因为它是外部react-native npm模块的一部分.

更新1

作为一个临时的解决方法,我已经通过自制程序获得ndenv和安装节点.这会将反应原生放在/usr/local/bin上的(显然是硬编码的)Xcode路径上,并且可以使构建运行.我不会提交或接受这个作为解决方案,因为它不允许对ndenv执行的节点版本进行可重复控制.

解决方法 问题似乎是react-native-xcode.sh脚本依赖于react-native-cli包在PATH中.在Github上这两个问题向该项目报告了这个问题:

> https://github.com/facebook/react-native/issues/3974
> https://github.com/facebook/react-native/issues/3948

我希望很快就能实现修复,因为对于使用react-native cli创建新项目的任何人来说,这都是一个主要问题.

这个问题有一些解决方法,但没有一个是完美的.哪一个适合您,取决于您的节点/ npm设置:

我自己通过nvm安装节点,只需要添加导出NVM_DIR =〜/ .nvm
source $(brew –prefix nvm)/nvm.shbefore运行react-native-xcode.sh.
为此,您需要在全局安装react-native-cli.

如果您需要帮助查找特定设置的解决方案,请提供有关您的节点设置的更多信息. (或者您可以尝试我在上面链接的问题中指出的其他解决方案之一.)

总结

以上是内存溢出为你收集整理的ios – 在OS X上使用ndenv设置React Native全部内容,希望文章能够帮你解决ios – 在OS X上使用ndenv设置React Native所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1051515.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存