Thinkphp8+Nuxt4开发:执行pnpm dev 报错[ERROR] Command failed with exit code ...

TP+nuxt开发时,前端安装富文本编辑器依赖包wangEditor后

pnpm add @wangeditor/editor @wangeditor/editor-for-vue

前端执行pnpm dev报错:[ERROR] Command failed with exit code 1: "C:\nvm4w\nodejs\node.exe" "C:\Users\Administrator\AppData\Local\node\corepack\v1\pnpm\11.22.0\bin\pnpm.mjs" install

image

原因分析:

不是安装 wangEditor(富文本)直接导致的代码损坏,但安装富文本这个动作,触发了 pnpm 依赖扫描,把这个隐藏问题暴露出来了。 这个坑本身早就潜伏在项目里,之前一直没触发,今天安装新包,才引爆 。

1.项目里有一段钩子:postinstall: "nuxt prepare" package.jsonpostinstall 含义:只要执行 pnpm install,安装结束后自动跑 nuxt prepare(生成 nuxt 类型文件)。之前开发:很久没执行 pnpm install,所以这个钩子不会跑,自然看不到报错

2.pnpm v11 新增安全机制(关键):

第三方 npm 包自带的 prebuild/build 脚本,默认不再自动执行。 一旦某个包有构建脚本,pnpm 就会抛出 ERR_PNPM_IGNORED_BUILDS

 

  • 出问题的包:es5-ext@0.10.64,一个非常老旧的底层依赖包。
  • 这个包不是你手动装的,是项目里其他依赖间接拉进来的嵌套依赖

 

解决方法:

  1. pnpm approve-builds:放行 es5-ext 脚本,快速解决,适合本地开发机;
  2. 删除 package.json"postinstall": "nuxt prepare":从根源避免每次 install 自动执行 nuxt prepare,推荐长期开发使用。

image

 

注意:

后续新增任何 npm 包(element-plus 等),都有概率再次触发同类校验。

最佳做法:删掉 postinstall,以后需要生成类型,手动执行一次 pnpm nuxt prepare 即可。

 

posted @ 2026-09-10 16:42  coderjim  阅读(12)  评论(0)    收藏  举报

更多知识请点击——

www.7017online.xyz