加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-14 19:25:25 所属栏目:百科 来源:网络整理
导读:我遇到了在 Xcode 7.1中设置新的React Native iOS项目的PATH困难.我正在尝试使用 ndenv 来管理节点版本,这意味着?/ .ndenv / shims需要在PATH上.为此,我将PATH设置为用户定义的项目设置为$PATH:?/ .ndenv / shims. Xcode设置UI显示正确的扩展PATH值. 然而,
我遇到了在 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.

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读