升级Angular10到12后npm install出现esbuild平台不支持警告如何修复
警告本质说明
这些输出属于npm的可选依赖跳过提示,不是运行报错,完全不影响项目的正常开发、构建和运行。
esbuild是Angular 12+构建链路中依赖的打包工具,它为了兼容全平台运行,会将所有操作系统、CPU架构对应的二进制适配包都声明为可选依赖。npm安装时会自动匹配你当前的系统环境(你当前是Intel芯片的Mac,对应os: darwin, arch: x64),不匹配的平台包会被自动跳过安装,就会输出这些提示日志。
解决方案
方案1:直接忽略
这些警告不会对项目功能产生任何负面影响,无需做任何修改即可正常进行后续开发。
方案2:关闭可选依赖警告
如果不想看到这类提示,可以在执行安装命令时添加对应参数:
npm install --no-warnings=optional
如果希望项目全局生效,在项目根目录新建/修改.npmrc文件,添加如下配置即可:
no-warnings = optional
方案3:强制过滤不需要的适配包
如果你使用npm v8.3及以上版本,可以在package.json中添加overrides配置,强制排除不需要的esbuild平台包;如果使用yarn,也可以在现有的resolutions字段中添加规则,仅保留你需要的esbuild-darwin-64适配包即可。
内容的提问来源于stack exchange,提问作者Behnam Aminazad
相关产品推荐
相关产品推荐

