由於服務器環境的不同可能需要根據實際情況升降對應的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來進行更新,好了記錄到此感謝閱讀