React Native升级Node/NPM遇ENOENT及Xcode Clean失败求助
解决React Native升级Node/NPM后的系列问题
一、Node16/18 + NPM8下npm install报ENOENT错误
1. 消除NVM与Homebrew的版本冲突
同时用NVM和Homebrew管理Node易出现路径优先级问题,统一用NVM管理:
- 卸载Homebrew安装的Node:
brew uninstall node - 用NVM重装目标版本(以18为例):
nvm install 18 nvm use 18 - 验证版本:
node -v应显示18.x,npm -v应显示8.x - 检查Shell配置文件(
.zshrc/.bashrc),确保NVM初始化代码在Homebrew配置之前,避免路径被覆盖。
2. 彻底清理依赖缓存与残留
- 清理NPM全局缓存:
npm cache clean --force - 删除项目本地依赖与锁文件:
rm -rf node_modules rm package-lock.json yarn.lock - 检查项目根目录的
.npmrc文件,若存在自定义prefix、registry等异常配置,先备份后删除,再重新执行npm install。
二、安装pod@0.9.0时找不到pm2文件执行chmod
此处的pod@0.9.0是NPM包(非CocoaPods的pod命令),其postinstall脚本依赖pm2但路径未正确配置:
- 全局安装pm2:
npm install -g pm2 - 验证pm2路径:
which pm2应输出有效路径,若为空,将NPM全局bin路径加入系统PATH:# 先获取NPM前缀路径 npm config get prefix # 将路径下的bin目录加入PATH,示例: export PATH="$HOME/.nvm/versions/node/v18.17.0/bin:$PATH" # 生效配置 source ~/.zshrc - 临时应急方案(不推荐):
npm install pod@0.9.0 --ignore-scripts,之后手动找到包目录下的pm2文件执行chmod +x pm2。
三、xcodebuild -alltargets clean因ios/build目录报错
1. 手动清理后重新执行
- 删除ios/build目录:
rm -rf ios/build - 再执行清理命令,或直接用Xcode快捷键
Shift+Cmd+K(Clean Build Folder),比命令行更可靠。
2. 修复目录权限(若为权限问题)
- 修改ios/build目录归属:
sudo chown -R $(whoami) ios/build - 确保目录由Xcode生成而非手动创建,避免后续干扰。
3. 配置.gitignore避免冗余文件提交
在项目.gitignore中添加:ios/build/,防止该目录被提交后出现非构建系统生成的文件。
内容的提问来源于stack exchange,提问作者Before The Empire
相关产品推荐
相关产品推荐

