nodejs和npm升级版本
由于服务器环境的不同可能需要根据实际情况升降对应的nodejs 及npm 版本,最简单的例子就是 npx 只适用于 npm 5+ 看想用npx 那不升级咋办呢,还有如
error eslint@7.16.0: The engine "node" is incompatible with this module. Expected version "^10.12.0 || >=12.0.0". Got "11.10.0"
这种兼容问题也必须升级了
error Found incompatible module.
一、升级nodejs
首先是升级nodejs
下载一个gnvm.exe(百度网盘提取码:bljh)放到nodejs 安装目录如:
1、gnvm下载nodejs
直接 cmd > gnvm update latest
C:\Users\Lenovo>gnvm update latest
Notice: local Node.js latest version is 11.10.0.
Notice: remote Node.js latest version is 15.5.0 from http://nodejs.org/dist/.
Waring: remote latest version 15.5.0 > local latest version 11.10.0.
Start download Node.js versions [15.5.0].
15.5.0: 20% [==========>________________________________________] 15m42s
这里有可能会超时
C:\Users\Lenovo>gnvm update latest
Notice: local Node.js latest version is 11.10.0.
Notice: remote Node.js latest version is 15.5.0 from http://nodejs.org/dist/.
Waring: remote latest version 15.5.0 > local latest version 11.10.0.
Start download Node.js versions [15.5.0].
15.5.0: download error.
--------
End download.
Waring:
Name : http://nodejs.org/dist/v15.5.0/win-x64/node.exe
Code : -7
Error : Download size error, Error: .read tcp [2409:8a62:35a:a120:dcde:d893:6064:e39c]:50705->[2606:4700:10::6814:162e]:443: wsarecv: An existing connection was forcibly closed by the remote host.
这里就需要设置镜像源为TAOBAO
C:\Users\Lenovo>gnvm config registry TAOBAO
Set success, registry new value is http://npm.taobao.org/mirrors/node/
看更新
C:\Users\Lenovo>gnvm update latest
Notice: local Node.js latest version is 11.10.0.
Notice: remote Node.js latest version is 15.5.0 from http://npm.taobao.org/mirrors/node/.
Waring: remote latest version 15.5.0 > local latest version 11.10.0.
Start download Node.js versions [15.5.0].
15.5.0: 100% [==================================================>] 16s
--------
End download.
Update success, Node.js latest version is 15.5.0.
当然还有个办法就是去nodejs 官网直接下载一个需要的版本重新安装
然鹅Linux 可以使用 npm install -g n 安装一个 n 来升级nodejs
如:
$ sudo npm cache clean -f
$ sudo npm install -g n
$ sudo n stable 或者 $ sudo n latest 或者 $ sudo n 12:10:0
2 、下载后切换nodejs版本
下载成功了但是查看nodejs 还会是原来的版本
C:\Users\Lenovo>node -v
v11.10.0
这里就需要使用 gnvm use 来切换已有的版本
C:\Users\Lenovo>gnvm ls
Notice: gnvm.exe root is D:\develop\nodejs\\
v15.5.0 -- latest
C:\Users\Lenovo>gnvm use 15.5.0
Set success, global Node.js version is 15.5.0.
再次查看
C:\Users\Lenovo>node -v
v15.5.0
目前本地就有两个版本了
C:\Users\Lenovo>gnvm ls
Notice: gnvm.exe root is D:\develop\nodejs\\
v11.10.0
v15.5.0 -- global, latest
C:\Users\Lenovo>
其他的关于gnvm的使用
- 更换nodejs的下载来源库
gnvm.exe 内建了 DEFAULT 和 TAOBAO 两个库。
gnvm config registry TAOBAO
- 更换其他的库
gnvm config registry dist.u.qiniudn.com
- 使用gnvm安装多个nodejs
gnvm install latest 1.0.0-x86 1.0.0-x64 5.0.0
- 卸载本地任意 Node.js 版本
gnvm uninstall latest 1.0.0-x86 1.0.0-x64 5.0.0
- 切换本地存在的任意版本 Node.js
gnvm use 5.10.1
- 列出本地已存在的全部 Node.js 版本
gnvm ls
- 查看本地 Node.js global and latest 版本
gnvm node-version
- 更新本地的 Node.js 为latest 版本
gnvm update latest
- 查询 Node.js 版本
可以使用关键字 * 或者 正则表达式 /regxp/,例如: gnvm search 5… 或者 gnvm search /.10./ 。
gnvm search 5.*.*
- 安装当前 Node.js 版本对应的 NPM 版本
gnvm npm global
- 下载最新版的 npm version
gnvm npm latest
二、升级npm
npm 升级比nodejs 简单 直接运行 npm install npm@latest -g即可
这可以自行官网介绍是这样的
这个其实细心的同学应该发现了也可以使用上面的gnvm来进行更新,好了记录到此感谢阅读