报错解读 ERR_PNPM_IGNORED_BUILDS pnpm 9 + 供应链安全策略,禁止自动运行依赖包的 build 脚本

报错解读
ERR_PNPM_IGNORED_BUILDS
pnpm 9+供应链安全策略,禁止自动运行依赖包的build脚本,部分包需要编译构建,被拦截,导致 pnpm dev 内部触发的install失败退出码1。
提示文字也给出方案:
Run "pnpm approve-builds" to pick which dependencies should be allowed to run scripts.方案1:官方推荐(执行这个命令)
pnpm approve-builds交互式选择需要允许构建的包,截图里列表:@parcel/watcher core-js es5-ext esbuild tlbs‑map‑vue vue‑demi
全部勾选允许,完成后再执行
pnpm dev方案2:一次性全局放行(快速调试,服务器本地开发用)
pnpm dev --ignore-builds=false或者执行install阶段直接允许所有构建脚本
pnpm install --ignore-builds=false
pnpm dev方案3:写到 .npmrc 永久关闭该拦截(当前项目)
echo "ignore-builds=false" >> .npmrc然后再启动
pnpm dev补充说明
- 这个不是依赖损坏,是pnpm新版本安全防护,防止恶意包执行脚本。
- 生产环境不建议直接全局关闭,优先用
pnpm approve‑builds按需放行。 如果上面操作完依旧报错,删除锁文件与node_modules重来:
rm -rf node_modules pnpm-lock.yaml pnpm install --ignore-builds=false pnpm dev
版权属于:Joyber
本文链接:https://blog.qqvbc.com/default/ERR_PNPM_IGNORED_BUILDS-pnpm-9-build.html
转载时须注明出处及本声明