聊一聊NodeJS的版本管理工具nvs和源管理器nrm

492 阅读2分钟

我正在参与掘金创作者训练营第5期,点击了解活动详情

掘友们,有没有遇到过node-sass一直安装失败的情况呢?或者是比较老的项目,拉取包模块的时候,总是失败。这时候就可以尝试切换Nodejs的版本或者切换npm包的源,再安装一下。

Nodejs中的版本管理工具有nvmnvsn,本文主要介绍nvs ,还有npm包的源管理器nrm

nvs 使用指南

nvs是一个跨平台的NodeJS版本管理(切换)工具,它本身就是用NodeJS编写的。

安装nvs

window可以再github上下载nvs的releases版本Releases · jasongin/nvs (github.com)

如果是window11,可以打开命令行用widget命令安装

winget install jasongin.nvs

mac和linux,需要先配置安装位置的环境变量,然后用git clone下载源码安装

export NVS_HOME="$HOME/.nvs"
git clone https://github.com/jasongin/nvs "$NVS_HOME"
. "$NVS_HOME/nvs.sh" install

安装完成之后输入nvs -v查看版本

nvs -v  

1.6.2

nvs安装NodeJS版本并切换

在命令行输入nvs就可以选择所需要的NodeJS版本了,键盘往下可以选择更多版本

这里选择15.14.0版本

nvs

.----------------------------.
| Select a node version      |
+----------------------------+
| [a] node/18.7.0            |
|  b) node/18.6.0            |
|  c) node/18.5.0            |
|  d) node/18.4.0            |
|  e) node/18.3.0            |
|  f) node/18.2.0            |
|  g) node/18.1.0            |
|  h) node/18.0.0            |
|  i) node/17.9.1            |
|  j) node/17.9.0            |
|  k) node/17.8.0            |
|  l) node/17.7.2            |
|  m) node/17.7.1            |
|  n) node/17.7.0            |
|  o) node/17.6.0            |
'--\/------------------------'

安装完成之后,输入nvs ls查看已安装版本,输入nvs -ls切换版本

nvs ls 

 >node/16.16.0/arm64 (Gallium)
  node/15.14.0/x64
nvs -ls

.--------------------------------------------.
| Select a version                           |
+--------------------------------------------+
| [a] node/16.16.0/arm64 (Gallium) [current] |
|  b) node/15.14.0/x64                       |
|                                            |
|  ,) Download another version               |
|  .) Don't use any version                  |
'--------------------------------------------'

选择所需版本后,记得输入node -v查看是否切换成功

使用nvs切换对应NodeJS版本,可以解决项目中node-sass下载失败问题

或许再mac环境下nvs会比nvm更好用

nrm 使用指南

nrm可以切换npm包源的工具,可以替代cnpm

安装nrm

全局安装nrm即可

npm install -g nrm

使用nrm切换源

输入nrm ls查看所有的源,输入nrm use切换

nrm ls  

  npm ---------- https://registry.npmjs.org/
  yarn --------- https://registry.yarnpkg.com/
  tencent ------ https://mirrors.cloud.tencent.com/npm/
  cnpm --------- https://r.cnpmjs.org/
  taobao ------- https://registry.npmmirror.com/
  npmMirror ---- https://skimdb.npmjs.com/registry/
nrm use tencent

   Registry has been set to: https://mirrors.cloud.tencent.com/npm/

输入nrm test还可以测试各个源的延迟是多少ms

nrm test

  npm ------ 824ms
  yarn ----- 824ms
* tencent -- 192ms
  cnpm ----- 4049ms
  taobao --- 141ms
  npmMirror - 2448ms

结束

感谢阅读,欢迎点赞评论收藏,有错误的地方欢迎点出