前语:在项目实践开发中,会遇到多个项目并行开发,而往往项目不同对应的开发环境不同,单一的环境往往会遇到node的升级/降级、npm的升级/降级、node与npm不兼容、依靠包装置速度慢或卡顿等问题,然后影响开发效率,此刻该如何解决呢?那么接下来就介绍nvm与nrm的运用。

一、nvm下载与装置

留意事项:装置运用nvm前,一定要卸载掉体系中一切现已存在的一切node.js版别!!!

  1. nvm-windows官网

nvm(node版本控制工具)与nrm(npm源管理器)的使用

nvm(node版本控制工具)与nrm(npm源管理器)的使用

  1. 把nvm-setup.zip进行解压,nvm-setup.exe双击进行装置,能够自定义挑选装置目录也能够默许装置目录(装置目录记下来,后边修正环境变量会用到~)。

nvm(node版本控制工具)与nrm(npm源管理器)的使用

nvm装置目录:

nvm(node版本控制工具)与nrm(npm源管理器)的使用

nodejs装置目录:

nvm(node版本控制工具)与nrm(npm源管理器)的使用

二、C:\nvm目录下找到settings.txt文件,修正settings.txt的内容(首要为了解决nvm装置node时,使得node与npm对应的装置成功)

root: C:\nvm
path: C:\Program Files\nodejs
// 将npm镜像改为淘宝的镜像,能够进步下载速度(尽管也能够用,可是建议仍是用新的淘宝镜像!)
//node_mirror: https://npm.taobao.org/mirrors/node/
//npm_mirror: https://npm.taobao.org/mirrors/npm/
// 原taobao镜像地址修正最新的npmmirror.com
node_mirror: https://npmmirror.com/mirrors/node/
npm_mirror: https://npmmirror.com/mirrors/npm/

留意:npmmirror 镜像站

nvm(node版本控制工具)与nrm(npm源管理器)的使用

三、修正装备nvm环境变量(首要为了能够运用nvm相关指令)

用户变量中增加

NVM_HOME C:\nvm
NVM_SYMLINK C:\Program Files\nodejs

nvm(node版本控制工具)与nrm(npm源管理器)的使用

path中增加

Path %NVM_HOME%;%NVM_SYMLINK%

留意!!! %NPM_HOME%要增加在%NVM_SYMLINK%之前,避免npm拜访到的是nodejs中自带的npm包管理东西

nvm(node版本控制工具)与nrm(npm源管理器)的使用

四、查看nvm是否装置成功及nvm相关常用指令的运用

  1. 查看nvm是否装置成功 打开cmd,输入nvm,如下图则表明装置成功!

nvm(node版本控制工具)与nrm(npm源管理器)的使用

  1. nvm其他指令
nvm -v // 查看nvm版别号

nvm(node版本控制工具)与nrm(npm源管理器)的使用

nvmlistavailable // 查看能装置node的版别有哪些

nvm(node版本控制工具)与nrm(npm源管理器)的使用

nvm install latest // 装置node最新版别
nvm install 19.8.0 // 装置node指定版别19.8.0
nvm uninstall 19.8.0 // 卸载node@19.8.0

nvm(node版本控制工具)与nrm(npm源管理器)的使用

nvm use 19.8.0 // 运用node版别19.8.0

nvm(node版本控制工具)与nrm(npm源管理器)的使用

nvm ls // 查看本地已装置了node哪些版别

nvm(node版本控制工具)与nrm(npm源管理器)的使用

  1. 查看node及对应npm是否装置成功
  • 办法1:查看node及npm版别号
node -v
npm -v

如图表明装置成功

nvm(node版本控制工具)与nrm(npm源管理器)的使用

  • 办法2: 直接去nvm装置目录查看node装置目录,如图表明装置成功
    nvm(node版本控制工具)与nrm(npm源管理器)的使用

五、大局装置npm

一般情况下,装置node时,npm也一起装置了。每次装置一个node版别都要装置一堆包,若能有一个npm让各个版别的node共用,那就方便很多了。那么能够经过装备一个大局的npm来实现。

  1. 装备用npm下载包时大局装置的包途径
npm config set prefix "C:\nvm\npm"
  1. 装备环境变量 用户变量中增加
NPM_HOME C:\nvm\npm

nvm(node版本控制工具)与nrm(npm源管理器)的使用

path中增加

Path %NPM_HOME%

nvm(node版本控制工具)与nrm(npm源管理器)的使用

六、nrm管理npm源

只有一个npm源下载依靠包时国内下载速度可能会变慢或卡顿,乃至下载不来;若换yarn进行项目依靠包的下载,但会呈现项目保护问题,你用yarn,而其他同伴用npm,使得开发项目环境不同,然后导致运转项目时呈现各种运转/打包等问题。

此刻就需求另谋途径来解决——改动npm源。

改动npm源能够运用registry装备npm源,可是需求记地址,所以懒人式挑选nrm这个东西来进行管理会更加高效。

  1. 大局装置nrm
npminstallnrm-g--save
  1. 查看nrm是否装置成功
nrm ls // npm源列表
nrm current // 当时运用的npm源
nrm use taobao // 切换淘宝源

如下图表明装置成功!

nvm(node版本控制工具)与nrm(npm源管理器)的使用

  1. 切换了npm源为淘宝源,仍旧运用npm指令即可。
npm i @vue/cli -g

这下载速度进步了一个层次!

nvm(node版本控制工具)与nrm(npm源管理器)的使用

  1. 运用nrm遇到的问题

(1)npm版别问题

nvm(node版本控制工具)与nrm(npm源管理器)的使用

解决方案

升级npm包

npm i -g npm@9.6.5

(2)更新npm包仍是不可,如图:

nvm(node版本控制工具)与nrm(npm源管理器)的使用

解决方案:

卸载本来的大局装置的nrm,重新装置指定版别。

npm install -g nrm open@8.4.2 --save

nrm成功装置运用!

nvm(node版本控制工具)与nrm(npm源管理器)的使用

七、装置运用nvm过程中遇到的问题集合(避坑!!!)

装置nodejs有必要是npm和node都成功的,不然不算成功装置nodejs。

  • 问题1:nvm装置node时,node装置成功,npm装置失败

nvm(node版本控制工具)与nrm(npm源管理器)的使用

解决方案:

(1)在nvm中的setting.txt文件增加镜像(不要加https),发现仍是npm仍是没有装置成功。

node_mirror:npm.taobao.org/mirrors/node/
npm_mirror:npm.taobao.org/mirrors/npm/

(2)镜像不可,则手动下载对应需求的node版别的包到nvm目录下

下载地址:nodejs.org/download/re…

nvm(node版本控制工具)与nrm(npm源管理器)的使用

  • 问题2:node不是内部或外部指令,也不是可运转的程序或批处理文件

解决方案:

(1)修正nvm目录下的settings.txt(特别是自定义装置nvm的需求留意)

nvm(node版本控制工具)与nrm(npm源管理器)的使用

(2)设置环境变量

  • 问题3:nvm use xxx 呈现exit status乱码

解决方案: 首要原因便是cmd不是管理员权限进行运转操作,用管理员权限进行操作cmd即可(前提是确定现已装置好了node和npm,且node镜像path是正确的)。

  • 问题4:exit status 1: Access is denied. // 拒绝拜访

nvm(node版本控制工具)与nrm(npm源管理器)的使用

解决方案:

cmd运转时,改为用管理员身份运转即可。

  • 问题5:nvm use: Cannot create a file when that file already exists.

nvm(node版本控制工具)与nrm(npm源管理器)的使用
装置nvm过程中,需求设置nodejs的方便连接symlink,windows默许是C:\Program Files\nodejs。nvm便是经过修正方便链接来改动node的版别。

解决方案:

(1)这里提示的过错是指nodejs链接已存在,要把本来的删除;若怕删除有问题能够重命名本来的nodejs。然后重新运用nvm use切换即可。

(2)查看体系变量中,是否现已有一个默许的选项,若多了一个,删掉即可。

  • 问题6:’nvm’不是内部或外部指令,也不是可运转的程序或批处理文件

解决方案: nvm增加一下到体系变量。

nvm(node版本控制工具)与nrm(npm源管理器)的使用