cnpm install 淘宝镜像与node版本冲突 报Cannot find module ‘diagnostics_channel‘解决记录

最近把项目换到自己的mac电脑上了在安装依赖的时候报

在这里插入代码片
internal/modules/cjs/loader.js:883
  throw err;
  ^

Error: Cannot find module 'diagnostics_channel'
Require stack:
- /usr/local/lib/node_modules/cnpm/node_modules/urllib/src/cjs/diagnosticsChannel.js
- /usr/local/lib/node_modules/cnpm/node_modules/urllib/src/cjs/HttpClient.js
- /usr/local/lib/node_modules/cnpm/node_modules/urllib/src/cjs/index.js
- /usr/local/lib/node_modules/cnpm/node_modules/npminstall/lib/get.js
- /usr/local/lib/node_modules/cnpm/node_modules/npminstall/lib/utils.js
- /usr/local/lib/node_modules/cnpm/node_modules/npminstall/lib/local_install.js
- /usr/local/lib/node_modules/cnpm/node_modules/npminstall/lib/index.js
- /usr/local/lib/node_modules/cnpm/node_modules/npminstall/bin/install.js

可以看出缺少模块diagnostics_channel
在网上搜索后说
node版本太低,diagnostics_channel模块是 node v15 才有的功能,低于此版本的无法使用,可能是安装了新的淘宝镜像导致的
想起来前几天重新安装了cnpm可能是这个原因导致的

解决办法

需要升级node版本到15+以上
nodejs地址: node

我采用 n这个库来管理node

在这里插入代码片
sudo npm install -g n //全局安装
npm install -g n --force//全局安装
sudo n latest // 升级到最新版本
sudo n stable // 升级到稳定版本
sudo n xx.xx // 升级到具体版本号

安装进度

在这里插入代码片
MacdeMacBook-Pro-9:~ mac$ sudo n stable
Password:
  installing : node-v18.15.0
       mkdir : /usr/local/n/versions/node/18.15.0
       fetch : https://nodejs.org/dist/v18.15.0/node-v18.15.0-darwin-x64.tar.xz
#############################                                             41.4%

npm常用命令

在这里插入代码片
npm -v          #显示版本,检查npm 是否正确安装。
 
npm install express   #安装express模块
 
npm install -g express  #全局安装express模块
 
npm list         #列出已安装模块
 
npm show express     #显示模块详情
 
npm update        #升级当前目录下的项目的所有模块
 
npm update express    #升级当前目录下的项目的指定模块
 
npm update -g express  #升级全局安装的express模块
 
npm uninstall express  #删除指定的模块

小插曲我的mac电脑系统老旧(10.13.6 (17G14042))安装的node版本是v18结果

在这里插入代码片
MacdeMacBook-Pro-9:bin mac$ node -v
dyld: lazy symbol binding failed: Symbol not found: ____chkstk_darwin
  Referenced from: /usr/local/bin/node (which was built for Mac OS X 10.15)
  Expected in: /usr/lib/libSystem.B.dylib

dyld: Symbol not found: ____chkstk_darwin
  Referenced from: /usr/local/bin/node (which was built for Mac OS X 10.15)
  Expected in: /usr/lib/libSystem.B.dylib


下载之前的版本
node历史版本下载
贴上解决问题的帖子

安装成功

在这里插入代码片
MacdeMacBook-Pro-9:db-vue3-admin mac$ cnpm install
⠧ [0/18] Installing wangeditor@^4.7.15[0/18] Installing text-table@^0.2.0[0/18] Installing fast-levenshtein@^2.0.6

WARN node unsupported "node@v15.14.0" is incompatible with eslint@8.36.0 › espree@^9.5.0, expected node@^12.22.0 || ^14.17.0 || >=16.0.0[0/18] Installing vite@^4.0.0[0/18] Installing minimatch@^3.0.5[1/18] Installing estraverse@^5.1.0
启动成功
MacdeMacBook-Pro-9:db-vue3-admin mac$ npm run dev

> vite-project@0.0.0 dev
> vite --mode development

{
  VITE_API_URL: 'http://localhost:8866/',

另外俩种npm缓存方式清理
1.npm cache clear --force
2.npm cache verify

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值