移除nvm后XCode无法找到React Native项目的Node二进制文件
解决Xcode构建React Native项目时Node路径错误的方案
以下是针对你遇到的问题的具体解决步骤:
检查并修改Podfile配置
打开项目根目录的Podfile,查找是否存在硬编码的Node路径或NODE_BINARY相关配置。如果有,将其替换为当前Node的实际路径(可通过终端执行which node获取),比如/usr/local/bin/node。修改后执行pod install重新安装依赖。调整Xcode项目的Build Settings
- 在Xcode中选中项目Target,切换到Build Settings标签页
- 搜索
NODE_BINARY,若存在该环境变量,将其值改为当前Node的正确路径 - 同时检查
Shell Path相关配置,确保构建脚本使用的shell能定位到新的Node路径
修改Hermes引擎的构建脚本
错误提示指向hermes-engine的构建脚本,可直接修改该脚本:- 在Xcode项目导航栏中展开
Pods->hermes-engine,进入Build Phases - 找到报错的
Run Script(对应Script-46EB2E0002AB40.sh),查看脚本内容 - 将脚本中旧的nvm Node路径替换为当前Node的正确路径
注意:若后续重新执行pod install,该修改可能被覆盖,建议同步在Podfile中添加钩子配置来持久化修改
- 在Xcode项目导航栏中展开
让Xcode加载正确的环境变量
Xcode默认不会读取.zshrc的环境变量,可通过两种方式配置:- 终端执行
launchctl setenv NODE_BINARY /usr/local/bin/node,然后重启Xcode - 进入Xcode的
Edit Scheme->Run->Arguments,在Environment Variables中添加NODE_BINARY并设置正确路径,勾选启用
- 终端执行
验证Node路径的正确性
先在终端执行which node,确认输出的路径是否正确。如果官网安装的Node路径不是/usr/local/bin/node(比如M系列Mac可能是/opt/homebrew/bin/node),要将所有配置中的路径替换为实际输出的路径。
内容的提问来源于stack exchange,提问作者Sam Leurs
相关产品推荐
相关产品推荐

