You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

执行pnpm install时遇Cannot read properties of null (reading 'matches')错误求助

解决pnpm install报错“Cannot read properties of null (reading 'matches')”

环境信息

  • pnpm: 7.29.3
  • Node.js: 18.15.0
  • npm: 9.5.0

执行pnpm install时触发错误:

npm ERR! Cannot read properties of null (reading 'matches')

完整错误日志:

npm verb stack TypeError: Cannot read properties of null (reading 'matches')
│ npm verb stack     at Link.matches (/usr/local/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/node.js:1119:41)
│ npm verb stack     at Link.canDedupe (/usr/local/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/node.js:1073:15)
│ npm verb stack     at PlaceDep.pruneDedupable (/usr/local/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/place-dep.js:426:14)
│ npm verb stack     at new PlaceDep (/usr/local/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/place-dep.js:278:14)
│ npm verb stack     at new PlaceDep (/usr/local/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/place-dep.js:314:26)
│ npm verb stack     at /usr/local/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/arborist/build-ideal-tree.js:943:31
│ npm verb stack     at Array.map (<anonymous>)
│ npm verb stack     at [buildDepStep] (/usr/local/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/arborist/build-ideal-tree.js:943:8)
│ npm verb stack     at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
│ npm verb stack     at async Arborist.buildIdealTree (/usr/local/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/arborist/build-ideal-tree.js:207:7)
│ npm verb cwd /Users/test/08mar/project
│ npm verb Darwin 20.6.0
│ npm verb node v18.15.0
│ npm verb npm  v9.5.0
│ npm ERR! Cannot read properties of null (reading 'matches')
│ npm verb exit 1
│ npm verb unfinished npm timer reify 1680070933204
│ npm verb unfinished npm timer reify:loadTrees 1680070933204
│ npm verb unfinished npm timer idealTree:buildDeps 1680070949125
│ npm verb unfinished npm timer idealTree:node_modules/.pnpm/@discoveryjs+json-ext@0.5.7/node_modules/@discoveryjs/json-ext 1680070953308
│ npm verb code 1
│ npm ERR! A complete log of this run can be found in:/Users/test/.npm/_logs/2023-03-29T06_22_13_155Z-debug-0.log

已尝试但无效的操作:

  • 删除node_modules:rm -rf node_modules
  • 删除package-lock.json:rm -rf package-lock.json
  • 清除pnpm store

解决方案

1. 降级npm版本

该报错源于npm 9.5.0内置的@npmcli/arborist模块bug,降级到npm 9.4.2或更早稳定版本即可修复:

npm install -g npm@9.4.2

2. 删除pnpm锁文件后重新安装

pnpm的依赖锁文件是pnpm-lock.yaml而非package-lock.json,之前的操作未清理该文件,执行以下命令:

rm -rf pnpm-lock.yaml
pnpm install

3. 调整pnpm版本

尝试升级或降级pnpm版本,规避与当前Node.js、npm的兼容性问题:

  • 升级到最新稳定版:
npm install -g pnpm@latest
  • 降级到7.x系列更早版本:
npm install -g pnpm@7.28.0

4. 清理npm缓存

除pnpm store外,清理npm全局缓存避免残留异常文件:

npm cache clean --force

5. 检查项目路径与权限

确保项目路径无特殊字符(如空格、中文、特殊符号),且当前用户对项目目录拥有完整读写权限,避免文件系统权限问题引发安装异常。


内容的提问来源于stack exchange,提问作者pravin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 06:37:48