MacOS M1芯片Expo React Native项目npm install执行失败求助
M1 Mac执行npm install遇Unknown system error -86的解决办法
这个错误在M1/M系列Mac上基本和ARM架构兼容性挂钩,以下是具体排查和解决步骤:
1. 确认Node.js/npm的架构匹配
M1是ARM架构,如果你的Node.js是x64版本(通过Rosetta运行),很容易触发这类错误。先检查当前Node.js架构:
node -p process.arch
如果输出是x64,卸载现有版本,用nvm安装ARM版的Node.js LTS版本:
nvm install --lts --arm64 nvm use --lts --arm64
2. 清理缓存和锁定文件
缓存损坏或锁定文件冲突也可能导致问题,执行:
npm cache clean --force rm -rf package-lock.json node_modules
之后再重新运行npm install。
3. 用Rosetta终端运行命令
如果项目里有依赖暂不支持ARM架构,可尝试用Rosetta兼容模式:
- 找到「终端」App,右键选「显示简介」
- 勾选「使用Rosetta打开」,重启终端后再执行
npm install
4. 更新Expo CLI
确保Expo CLI是适配M1的最新版本:
npm install -g expo-cli@latest
5. 查看详细日志定位具体依赖
根据错误提示的日志路径,查看完整日志找出错的具体依赖:
cat /Users/belloshehu/.npm/_logs/2024-07-14T09_59_17_510Z-debug-0.log
日志会明确显示哪个包在spawn环节失败,针对这个包可以更换兼容版本或找替代方案。
内容的提问来源于stack exchange,提问作者Bello Shehu
相关产品推荐
相关产品推荐

