npm与node版本不匹配问题解决思路(一百五十八)

文章描述了在遇到npm关于不支持引擎的警告时的解决步骤,包括检查和更新node.js及npm的版本,下载匹配的预编译安装包或通过源码编译进行安装,以及设置软链接确保版本正确。同时提到了npm和node的最新版本需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.报错

npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: ‘electron-packager@17.1.1’,
npm WARN EBADENGINE required: { node: ‘>= 14.17.5’ },
npm WARN EBADENGINE current: { node: ‘v12.22.9’, npm: ‘8.5.1’ }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: ‘mdui@1.0.2’,
npm WARN EBADENGINE required: { node: ‘>=14’ },
npm WARN EBADENGINE current: { node: ‘v12.22.9’, npm: ‘8.5.1’ }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: ‘mdui.jq@2.0.1’,
npm WARN EBADENGINE required: { node: ‘>=14’ },
npm WARN EBADENGINE current: { node: ‘v12.22.9’, npm: ‘8.5.1’ }
npm WARN EBADENGINE }
npm WARN deprecated minimatch@0.3.0: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN deprecated @npmcli/move-file@2.0.1: This functionality has been moved to @npmcli/fs
npm WARN deprecated electron-rebuild@3.2.9: Please use @electron/rebuild moving forward. There is no API change, just a package name change

2.解决思路: 编译好的bin安装
1.分别查看node和npm版本,她俩要匹配上,才不会报错冲突

npm -v
8.5.1

node -v
v12.22.9

2.看官网npm和node版本是怎么匹配的?如果不匹配按照下载就行

在这里插入图片描述发现最新版本的npm9.6.3对应node19.9.0版本

3.分别安装npm9.6.3版本和node19.9.0版本
  1. 将npm更新为:9.6.3版本
  2. 将node更新为:19.9.0版本
4.下载node与npm安装包(注意:node和npm在一个安装包,已经对应好了node与npm的版本)
<1>.下载稳定版本地址:https://nodejs.org/en/download

在这里插入图片描述

<2>.下载最新版本地址: https://nodejs.org/download/release/v19.9.0/

在这里插入图片描述

<3>.安装19.9.0已编译好的bin包
1.解压测试
# cd node-v19.9.0-linux-x64
# ./bin/node -v                               
v19.9.0

# ./bin/npm -v
9.6.3

2.设置软链接
# cp -rf node-v19.9.0-linux-x64 /opt
# ln -s /opt/nodejs/bin/npm   /usr/bin/ 
# ln -s /opt/nodejs/bin/node   /usr/bin/

# node -v
v19.9.0

# npm -v
9.6.3
2.解决思路: 源码安装(编译比较耗时)

下载源码:https://nodejs.org/en

//1.速度慢
# git clone https://github.com/nodejs/node.git
Or
//2.速度快,推荐!
# wget https://nodejs.org/dist/v19.9.0/node-v19.9.0-linux-x64.tar.xz

# sudo ./configure
$ sudo make
$ sudo make install

# node -v 

# npm -v

当我们在使用CSDN下载或使用一些基于Node.js的项目时,我们可能会遇到Node版本npm版本一致的问题解决这个问题可以通过以下方式: 1. 检查Node版本:首先,我们需要确定我们当前安装的Node版本是多少。可以在命令行中输入 `node -v` 来查看。如果我们下载的项目要求特定版本Node,我们需要升级或降级Node版本,使其要求版本一致。 2. 检查npm版本Node版本类似,我们也可以使用命令行输入 `npm -v` 来查看已安装的npm版本。如果我们的npm版本过高或过低,可以通过升级或降级npm版本项目要求版本一致。 3. 使用nvm工具:nvm是一个方便管理Node版本的工具。通过nvm,我们可以在同一台机器上安装多个Node版本,并且可以轻松切换这些版本。我们可以在CSDN或其他官方网站上下载并安装nvm,然后使用命令行来安装特定版本Node,并使用nvm轻松切换版本。 4. 使用n工具:n是另一个可以帮助管理Node版本的工具。通过n,我们可以方便地从命令行安装、切换和管理Node版本。我们可以按照CSDN或其他官方网站的说明下载并安装n工具,然后使用命令行来安装特定版本Node,并使用n来管理版本。 5. 修改项目配置文件:有时,我们可能需要修改项目的配置文件,以便项目可以使用我们当前安装的Nodenpm版本。我们可以根据项目要求修改项目的package.json文件中的"engines"字段,以指定所需的Nodenpm版本。 总结起来,解决CSDN中Node版本npm版本一致的问题,我们可以通过检查和升级/降级Nodenpm版本,使用nvm或n工具来管理Node版本,以及修改项目配置文件来指定所需的版本。这样就可以确保我们在使用CSDN下载或使用基于Node.js的项目时,版本一致,避免出现兼容性问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Android系统攻城狮

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值