升级React Native到66.3后iOS构建PhaseScriptExecution报错如何解决
报错触发原因
该报错是Node版本过低导致的语法解析失败:
React Native 0.66及以上版本要求最低Node版本为14.x,你当前使用的Node版本低于该要求,无法解析代码中使用的ES2022公共类字段语法(即报错日志中processRequest = (req, res, next) => {}的类属性直接赋值写法),导致构建执行脚本阶段抛出SyntaxError: Unexpected token =错误,最终触发PhaseScriptExecution failed with a nonzero exit code的构建失败提示。
修复方案
按以下步骤操作即可解决:
- 第一步:升级Node版本到14.x LTS及以上,推荐使用16.x LTS版本。如果使用nvm管理Node版本,执行以下命令即可:
nvm install 16 --lts nvm alias default 16 - 第二步:清空项目旧依赖缓存,重新安装依赖:
rm -rf node_modules package-lock.json yarn.lock # 执行npm install 或 yarn install重新安装依赖 npm install - 第三步:清空iOS端缓存,重新安装Pod依赖:
cd ios rm -rf ~/Library/Developer/Xcode/DerivedData ./Pods ./Podfile.lock pod install --repo-update - 可选排查:如果完成上述操作后仍然报错,说明Xcode构建时调用的Node版本和终端升级后的版本不一致,你可以先在终端执行
which node获取当前Node的安装路径,然后打开Xcode项目对应Target的Build Phases面板,在执行失败的脚本项最开头添加export PATH="你的Node安装路径上层目录:$PATH",强制Xcode使用升级后的Node版本执行构建脚本。
内容的提问来源于stack exchange,提问作者Amir Doreh
相关产品推荐
相关产品推荐

