React Native iOS报Node版本错误

使用React Native开发iOS的时候,报错如下

bash 复制代码
Pods.build/Debug-iphoneos/hermes-engine.build/Script-46EB2E00021FE0.sh: line 9: /opt/homebrew/Cellar/node/22.2.0/bin/node: No such file or directory

Command PhaseScriptExecution failed with a nonzero exit code

进入Pods.build/Debug-iphoneos/hermes-engine.build/Script-46EB2E00021FE0.sh查看,发现是使用了NODE_BINARY来指向node

bash 复制代码
#!/bin/sh
        . "$REACT_NATIVE_PATH/scripts/xcode/with-environment.sh"

        CONFIG="Release"
        if echo $GCC_PREPROCESSOR_DEFINITIONS | grep -q "DEBUG=1"; then
          CONFIG="Debug"
        fi

        "$NODE_BINARY" "$REACT_NATIVE_PATH/sdks/hermes-engine/utils/replace_hermes_version.js" -c "$CONFIG" -r "0.73.5" -p "$PODS_ROOT"

而iOS的node版本配置是在.xcode.env文件中

bash 复制代码
# This `.xcode.env` file is versioned and is used to source the environment
# used when running script phases inside Xcode.
# To customize your local environment, you can create an `.xcode.env.local`
# file that is not versioned.

# NODE_BINARY variable contains the PATH to the node executable.
#
# Customize the NODE_BINARY variable here.
# For example, to use nvm with brew, add the following line
# . "$(brew --prefix nvm)/nvm.sh" --no-use
export NODE_BINARY=$(command -v node)

运行的时候,会动态读取node的版本,但是如果升级了node版本,需要将.xcode.env.local文件删除后重新运行pod install

bash 复制代码
// .xcode.env.local文件
export NODE_BINARY=/opt/homebrew/Cellar/node/22.2.0/bin/node
相关推荐
兆子龙3 小时前
当「多应用共享组件」成了刚需:我们从需求到模块联邦的落地小史
前端·架构
Qinana3 小时前
从代码到智能体:MCP 协议如何重塑 AI Agent 的边界
前端·javascript·mcp
Wect3 小时前
LeetCode 130. 被围绕的区域:两种解法详解(BFS/DFS)
前端·算法·typescript
不会敲代码14 小时前
从入门到进阶:手写React自定义Hooks,让你的组件更简洁
前端·react.js
用户5433081441944 小时前
拆完 Upwork 前端我沉默了:你天天卷的那些技术,人家根本没用
前端
洋洋技术笔记4 小时前
Vue实例与数据绑定
前端·vue.js
Marshall1514 小时前
zzy-scroll-timer:一个跨框架的滚动定时器插件
前端·javascript
明月_清风5 小时前
打字机效果优化:用 requestAnimationFrame 缓冲高频文字更新
前端·javascript
明月_清风5 小时前
Markdown 预解析:别等全文完了再渲染,如何流式增量渲染代码块和公式?
前端·javascript
掘金安东尼6 小时前
用 CSS 打造完美的饼图
前端·css