Expo eject报错:JavaScript依赖安装失败,寻求解决方法
Expo Eject 突发报错的解决建议
环境与背景
- Node: 16.16.0
- npm: 8.14.0
- expo-cli: 5.4.12
- 近期升级了Node到v16、npm到v8,安装依赖需加
--legacy-peer-deps参数,已尝试过expo-cli的卸载重装/升降级操作 - 此前
expo eject可正常运行,当前突发报错(错误截图:
)
解决步骤
- 清理npm缓存并重装依赖
先清除可能存在的缓存污染:
npm cache clean --force
然后删除现有依赖文件重新安装:
rm -rf node_modules package-lock.json npm install --legacy-peer-deps
- 降级expo-cli到兼容版本
尝试切换到与Node v16、npm v8适配性更好的expo-cli版本,比如5.3.x系列:
npm uninstall -g expo-cli npm install -g expo-cli@5.3.0
之后再执行expo eject,若仍有问题可尝试加上--legacy-peer-deps参数:
expo eject --legacy-peer-deps
- 排查依赖冲突
运行命令查看项目中是否存在明确的peer依赖冲突:
npm ls
根据输出里的红色冲突提示,手动调整对应依赖的版本号,再重新安装依赖。
- 用npx临时指定版本执行
如果全局版本问题无法解决,直接用npx调用指定版本的expo-cli执行eject:
npx expo-cli@5.3.0 eject --legacy-peer-deps
内容的提问来源于stack exchange,提问作者Dhruvam Patel
相关产品推荐
相关产品推荐

