安装node-fetch触发TypeError错误,如何解决?
解决npm安装node-fetch时的TypeError问题
我在开发Discord机器人时,执行npm install node-fetch触发TypeError错误,具体错误日志如下:
TypeError: Cannot read properties of null (reading 'matches') at Link.matches (C:\Program Files\nodejs\node_modules\npm\node_modules\@npmcli\arborist\lib\node.js:1107:41) at Link.canDedupe (C:\Program Files\nodejs\node_modules\npm\node_modules\@npmcli\arborist\lib\node.js:1061:15) at PlaceDep.pruneDedupable (C:\Program Files\nodejs\node_modules\npm\node_modules\@npmcli\arborist\lib\place-dep.js:468:14) at PlaceDep.placeInTree (C:\Program Files\nodejs\node_modules\npm\node_modules\@npmcli\arborist\lib\place-dep.js:329:14) at PlaceDep.place (C:\Program Files\nodejs\node_modules\npm\node_modules\@npmcli\arborist\lib\place-dep.js:216:10) at new PlaceDep (C:\Program Files\nodejs\node_modules\npm\node_modules\@npmcli\arborist\lib\place-dep.js:73:10) at C:\Program Files\nodejs\node_modules\npm\node_modules\@npmcli\arborist\lib\arborist\build-ideal-tree.js:990:31 at Array.map (<anonymous>) at Arborist.[buildDepStep] (C:\Program Files\nodejs\node_modules\npm\node_modules\@npmcli\arborist\lib\arborist\build-ideal-tree.js:990:8) at async Arborist.buildIdealTree (C:\Program Files\nodejs\node_modules\npm\node_modules\@npmcli\arborist\lib\arborist\build-ideal-tree.js:218:7)
解决方案
清理npm缓存
执行命令强制清理缓存,解决缓存损坏导致的依赖解析异常:npm cache clean --force清理完成后重新尝试安装。
更新npm到最新版本
该错误多与旧版npm的arborist模块bug相关,更新npm至最新版本:npm install -g npm@latest更新完成后再次执行
npm install node-fetch。删除依赖文件重新安装
- 删除项目根目录下的
node_modules文件夹 - 删除
package-lock.json文件 - 重新执行安装命令:
npm install node-fetch
- 删除项目根目录下的
指定node-fetch具体版本安装
尝试安装稳定版本,v2版本兼容CommonJS,适合多数Discord机器人项目;若使用ES模块可尝试v3+版本:npm install node-fetch@2.6.7
内容的提问来源于stack exchange,提问作者Adam Varhegyi
相关产品推荐
相关产品推荐

