Angular 17构建报错:@esbuild/darwin-arm64缺失且npm架构识别异常
Angular 17构建时Esbuild架构识别异常的解决步骤
问题根源
M1 Pro设备上npm被错误识别为x64架构,导致esbuild无法自动安装适配arm64的依赖包,进而触发构建报错。
解决步骤
检查终端架构模式
运行arch命令,若输出为x86_64,说明终端在Rosetta 2兼容模式下运行:- 关闭当前终端
- 访达中找到终端,右键选择「显示简介」
- 取消勾选「使用Rosetta打开」,重新打开终端
清理依赖并重新安装
依次执行以下命令:rm -rf node_modules rm package-lock.json npm cache clean --force npm install注意:不要添加
--no-optional或--omit=optional参数,保留可选依赖的安装逻辑。强制指定npm架构
若终端已是arm64模式但npm仍识别错误,运行:npm config set arch arm64 npm config set platform darwin执行完成后重新运行
npm install验证安装状态
运行npx esbuild --version,若能正常输出版本号,说明依赖安装正确,再尝试执行ng build备选方案:手动锁定依赖版本
若以上方法无效,在package.json中添加resolutions字段(适配npm 8+版本):"resolutions": { "esbuild": "0.19.11", "@esbuild/darwin-arm64": "0.19.11" }之后执行
npm install
内容的提问来源于stack exchange,提问作者MrFullStack
相关产品推荐
相关产品推荐

