反应本机ios生成:找不到节点

反应本机ios生成:找不到节点,ios,node.js,react-native,build,Ios,Node.js,React Native,Build,我已经准备好了一个原型,项目中充斥着构建: 错误:如果需要,则找不到用于生成React本机捆绑包的“节点”二进制文件 安装非标准nodejs,在Xcode中选择您的项目, 查找“构建阶段”-“绑定本地代码和映像”并更改 节点\u二进制到节点可执行文件的绝对路径您可以找到它 通过调用终端中的“哪个节点” 这个反馈对我来说是无助的,我确实有nvm的节点。这与bash有关吗?打开Xcode,然后选择Preferences。。。从Xcode菜单 转到“位置”面板,通过在“命令行工具”下拉列表中选择最新版

我已经准备好了一个原型,项目中充斥着构建:

错误:如果需要,则找不到用于生成React本机捆绑包的“节点”二进制文件 安装非标准nodejs,在Xcode中选择您的项目, 查找“构建阶段”-“绑定本地代码和映像”并更改 节点\u二进制到节点可执行文件的绝对路径您可以找到它 通过调用终端中的“哪个节点”


这个反馈对我来说是无助的,我确实有nvm的节点。这与bash有关吗?

打开Xcode,然后选择Preferences。。。从Xcode菜单

转到“位置”面板,通过在“命令行工具”下拉列表中选择最新版本来安装工具

选择命令行工具,如下图所示 我找到了一个

首先在shell中找到当前节点

which node
然后将节点url复制到

export NODE_BINARY=[your node path]
../node_modules/react-native/packager/react-native-xcode.sh to node_modules/react-native/scripts/react-native-xcode.sh

我的解决方案是在您的配置文件中设置一个默认版本的node和nvm。这适用于bash或zsh:

将此添加到.zshrc或.bashrc


启动新终端时,请确保将其更改为所需的版本。

@brunocascio注释中的解决方案更简单,侵入性更小,请在命令行中创建指向节点的符号链接:

ln -s $(which node) /usr/local/bin/node

如果您正在开发基于React本机的解决方案,并且正在使用NVM进行本地节点版本控制,则错误可能是由此引起的

XCode找不到节点版本,当然XCode在/usr/local/bin/Node目录中获取节点,而NVM将节点存储在另一个目录中,如Users/${my user}/。Nvm/versions/node/v14.16.0/bin/node

要工作,只需为XCode创建别名,即可在其默认搜索中查找节点:

ln -s $ (which node) / usr / local / bin / node

你的节点版本?你在使用nvm吗?这在我身上发生过,在Expo Bare工作流项目中也是如此:节点是通过nodenv安装的,Expo是通过Expo init ExpoBareTest安装的。在构建过程中,无法找到节点二进制文件,即使Xcode构建正在使用常规的非本地项目。-下面给出的两种解决方案,导出节点_binary=/path/to/node以及ln-s$which node/usr/local/bin/node在这种情况下正常工作。只需添加此项,因为在此上下文中未提及Expo和nodenv。最好创建如下符号链接:ln-s$which node/usr/local/bin/node,并将ios应用程序配置保留为默认配置:伟大的您救了我:DHi,路径已从node_modules/react-native/packager/react-native-xcode.sh更改为node_modules/react-native/scripts/react-native-xcode.shFor me,如下所述,如dreadcase所述。将NODE_BINARY=/usr/local/bin/NODE NODE_modules/react native/scripts/react-native-xcode.sh导出到NODE_modules/react native/scripts/react-native-xcode.sh nvm如何使用默认值?如果默认值与.nvmrc中的版本匹配,则可以使用。我喜欢使用我在项目中指定的版本,它并不总是符合我的默认版本。我认为这是一个更干净的解决方案。修改构建阶段解决方案将导致对项目的修改,这可能会影响使用不同env设置在同一项目上工作的其他团队成员。对于nvm用户,这是在Xcode上构建您的react本机应用程序的解决方案,当遇到env:node:无此文件或目录时。非常感谢。我刚刚安装了一台新的Mac电脑,无法理解为什么在构建应用程序时会出现这个错误,尽管我的设置与通过n安装的旧Mac Node.js相同。不管怎样,这已经解决了,再次感谢。太棒了!谢谢你的努力!
ln -s $ (which node) / usr / local / bin / node