trae的gitee mcp莫名错误
根本原因这是 npx 的缓存目录被半成品污染导致的我用一张图说明它的形成过程。C:\Users\liupe\AppData\Local\npm-cache\_npx\ └── be47caeab2afd91b\ ← 路径哈希由包名 环境推导 ├── package.json ← 缓存清单记录依赖版本 ├── package-lock.json └── node_modules\ └── gitee\mcp-gitee-windows-amd64这个目录不是事务性的而且 npx 不会自检完整性。流程是建目录 → 写package.json→ 开始npm install如果安装过程中进程被杀node_modules可能已经落盘了一部分但顶层文件处于不一致状态下次启动时 npx 的逻辑是目录在 → 直接读package.json拿版本读到就复用而现在package.json缺失 →read-package.js直接抛 ENOENT →失败且永远不会自我修复因为目录一直在你这次的日志正好完整印证了这条路径libnpmexec/lib/index.js:307的exec处读取失败、cwd为C:\Users\liupe、registry 走的是registry.npmmirror.com。为什么会装到一半被打断gitee/mcp-gitee是个壳包真正干活的是它依赖的平台二进制gitee/mcp-gitee-windows-amd64几十 MB。也就是说第一次启动时 npx 要下载这个二进制耗时可观Trae 启动 MCP Server 有超时限制等不到 npx 启动完成就会 kill 掉子进程kill 的时机如果正好落在二进制下载/写入中就留下了一个残缺的_npx目录次要加重因素走的是registry.npmmirror.com镜像镜像偶发抖动会让 install 中途失败Nodev26.2.0是相当新的版本npm 11 的_npx复用逻辑历史上就有中断后不自愈的已知问题多个 Trae 窗口/工作区并发跑同一个包会争抢同一个哈希目录为什么删掉就好因为哈希目录是按包名推导的删掉后 npx 会走全新安装分支重新生成完整的package.jsonnode_modules。这也正是我做的删目录 → 预热缓存 → 实测initialize正常返回。怎么避免再犯预热缓存已做手动跑一次npx -y gitee/mcp-giteelatest让它完整装完再交给 Trae。以后 Trae 启动时只是读缓存秒起。如果再遇到先删_npx\哈希再重启 MCP不要反复重试重试不会自愈。想彻底绕开 npx 的不确定性可以改成全局安装后在 MCP 配置里写绝对路径命令npm i-g gitee/mcp-gitee# MCP 配置的 command 改为 mcp-gitee或 .cmd 的完整路径这样就没有_npx这一层缓存可损坏了。需要我现在帮你把它全局装好、把配置改成绝对路径吗
上一篇/下一篇内容由系统自动关联
返回资讯列表 →