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

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

一、nvm下载与安装

注意事项:安装使用nvm前,一定要卸载掉系统中所有已经存在的所有node.js版本!!!

  1. nvm-windows官网
    nvm(node版本控制工具)与nrm(npm源管理器)的使用_第1张图片

  2. 把nvm-setup.zip进行解压,nvm-setup.exe双击进行安装,可以自定义选择安装目录也可以默认安装目录(安装目录记下来,后面修改环境变量会用到~)。
    在这里插入图片描述

nvm安装目录:
nvm(node版本控制工具)与nrm(npm源管理器)的使用_第2张图片

nodejs安装目录:
nvm(node版本控制工具)与nrm(npm源管理器)的使用_第3张图片

二、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环境变量(主要为了能够使用nvm相关指令)

用户变量中添加

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

nvm(node版本控制工具)与nrm(npm源管理器)的使用_第4张图片

path中添加

Path %NVM_HOME%;%NVM_SYMLINK%

注意!!!
%NPM_HOME%要添加在%NVM_SYMLINK%之前,避免npm访问到的是nodejs中自带的npm包管理工具

nvm(node版本控制工具)与nrm(npm源管理器)的使用_第5张图片

四、检查nvm是否安装成功及nvm相关常用命令的使用

  1. 检查nvm是否安装成功
    打开cmd,输入nvm,如下图则表示安装成功!
    nvm(node版本控制工具)与nrm(npm源管理器)的使用_第6张图片

  2. nvm其他命令

nvm -v // 查看nvm版本号

在这里插入图片描述

nvm list available // 查看能安装node的版本有哪些

nvm(node版本控制工具)与nrm(npm源管理器)的使用_第7张图片

nvm install latest // 安装node最新版本
nvm install 19.8.0 // 安装node指定版本19.8.0
nvm uninstall 19.8.0 // 卸载[email protected]

nvm(node版本控制工具)与nrm(npm源管理器)的使用_第8张图片

nvm use 19.8.0 // 使用node版本19.8.0

在这里插入图片描述

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

nvm(node版本控制工具)与nrm(npm源管理器)的使用_第9张图片

  1. 检查node及对应npm是否安装成功
  • 方法1:查看node及npm版本号
node -v
npm -v

如图表示安装成功

nvm(node版本控制工具)与nrm(npm源管理器)的使用_第10张图片

  • 方法2: 直接去nvm安装目录查看node安装目录,如图表示安装成功
    image.png

五、全局安装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源管理器)的使用_第11张图片

path中添加

Path %NPM_HOME%

nvm(node版本控制工具)与nrm(npm源管理器)的使用_第12张图片

六、nrm管理npm源

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

此时就需要另谋途径来解决——改变npm源。

改变npm源可以使用registry配置npm源,但是需要记地址,所以懒人式选择nrm这个工具来进行管理会更加高效。

  1. 全局安装nrm
npm install nrm -g --save
  1. 检查nrm是否安装成功
nrm ls // npm源列表
nrm current // 当前使用的npm源
nrm use taobao // 切换淘宝源

如下图表示安装成功!
nvm(node版本控制工具)与nrm(npm源管理器)的使用_第13张图片

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

这下载速度提高了一个档次!
nvm(node版本控制工具)与nrm(npm源管理器)的使用_第14张图片

  1. 使用nrm遇到的问题

(1)npm版本问题
nvm(node版本控制工具)与nrm(npm源管理器)的使用_第15张图片

解决方案:

升级npm包

npm i -g npm@9.6.5

(2)更新npm包还是不行,如图:
nvm(node版本控制工具)与nrm(npm源管理器)的使用_第16张图片

解决方案:

卸载原来的全局安装的nrm,重新安装指定版本。

npm install -g nrm open@8.4.2 --save

nrm成功安装使用!
nvm(node版本控制工具)与nrm(npm源管理器)的使用_第17张图片

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

安装nodejs必须是npm和node都成功的,否则不算成功安装nodejs。

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

nvm(node版本控制工具)与nrm(npm源管理器)的使用_第18张图片

解决方案:

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

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

(2)镜像不行,则手动下载对应需要的node版本的包到nvm目录下

下载地址:https://nodejs.org/download/release/

nvm(node版本控制工具)与nrm(npm源管理器)的使用_第19张图片

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

解决方案:

(1)修改nvm目录下的settings.txt(特别是自定义安装nvm的需要注意)
nvm(node版本控制工具)与nrm(npm源管理器)的使用_第20张图片

(2)设置环境变量

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

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

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

nvm(node版本控制工具)与nrm(npm源管理器)的使用_第21张图片

解决方案:

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

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

nvm(node版本控制工具)与nrm(npm源管理器)的使用_第22张图片

安装nvm过程中,需要设置nodejs的快捷连接symlink,windows默认是C:\Program Files\nodejs。nvm就是通过修改快捷链接来改变node的版本。

解决方案:

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

(2)检查系统变量中,是否已经有一个默认的选项,若多了一个,删掉即可。

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

解决方案:
nvm添加一下到系统变量。
nvm(node版本控制工具)与nrm(npm源管理器)的使用_第23张图片

你可能感兴趣的:(工具大全,npm,前端,node.js)