安装配置nvm-windows对Node.js与npm进行版本控制

一、nvm

由于Node.js版本原因,可能会出现一些错误,如IDEA中Node.js环境下npm报错Error:0308010C:digital envelope routines:unsupported。而且不同的项目,所采用的Node.js的版本不同,重新卸载安装配置,太过繁琐。所以可以使用nvm来动态灵活管理Node.js的版本

注意:Win7系统不支持最新版本Node.js,目前我在另一部机器上测试,最高版本只能使用Node.js13.14.0。
Node.js is only supported on Windows 8.1,Windows server 2012 R2, or higher.

#nvm:管理Node.js版本的工具,可以管理多个Node.js版本以及其对应的npm。

#Node.js:一个基于 Chrome V8 引擎的 JavaScript 运行环境,是一个开源的、跨平台的 JavaScript 运行时环境。Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。

#npm:Node.js 的包管理器 npm,是目前最流行的Node.js 的包管理器。

#npm、Node.js、npm三者关系的总结:nvm管理Node.js的版本,npm管理Node.js的包。

注意:如果你之前已经单独在自己的机器上安装并使用过Node.js,必须先卸载这个已经安装好的版本,否则不仅无法纳入nvm的版本管理中,而且很可能会出现冲突问题。
在这里插入图片描述
在这里插入图片描述

在cmd中输入node -vnpm -v 分别检查Node.js和npm的版本,出现如下图的提示才算卸载完成:
在这里插入图片描述

二、下载并安装nvm

2.1 下载nvm-windows

点击访问链接下载nvm-windows

下载nvm-setup.exe或者nvm-set.zip(解压出来也是nvm-setup.exe)
在这里插入图片描述
最后会得到这样一个安装包
在这里插入图片描述

2.2 安装nvm-windows

在这里插入图片描述

在这里插入图片描述
注意:这个Node.js软链接文件夹,在nvm-windows安装结束后可能不会立即出现,需要你使用nvm install命令安装某个Node.js的版本或者切换版本后才会出现。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
检验nvm安装是否成功:nvm -v
在这里插入图片描述
nvm安装目录内容:
在这里插入图片描述
nvm安装过程中自动默认配置的用户变量:
在这里插入图片描述
在这里插入图片描述
nvm安装过程中自动默认配置的系统变量Path:
在这里插入图片描述

2.3 配置nvm taobao镜像

使用编辑器软件打开nvm安装目录下的settings.txt文件夹,在其中添加如下taobao镜像:
注意:这里设置的镜像源是安装Node.js和npm本身的源,不是安装Node.js包的源。

##node taobao mirrors
node_mirror: https://npm.taobao.org/mirrors/node/

##npm taobao mirrors
npm_mirror:  https://npm.taobao.org/mirrors/npm/

在这里插入图片描述
settings.txt的默认内容
在这里插入图片描述
添加taobao镜像后的settings.txt:
在这里插入图片描述

2.4 新建node_global和node_cache

Node.js安装目录中新建node_global&node_cache文件夹

#node_global是npm的全局模块的路径
#node_cache是npm使用时的cache即缓存的配置路径。

在这里插入图片描述

三、配置nvm、Node.js、npm协同工作

3.1 使用nvm

nvm个人常用命令一览:

#nvm   -v                       查看nvm版本
#nvm                            查看nvm相关信息
#nvm   list  available          查看可用的版本
#nvm   install Node.js的版本号   安装Node.js18.16.0 (如nvm install 18.16.0)
#nvm   use    Node.js的版本号    使用Node.js18.16.0 (如nvm use 18.16.0)  如果安装了多个Node.js包,就相当于切换版本。 【只会安装不会安装并自动切换到这个版本】
#nvm   list或nvm ls             查看已下载的Node.js的版本

#notice:这里使用的较少
#nvm arch                       查看当前Node.js运行64位或32位操作系统上
#nvm on/off                     开启/关闭Node.js的版本管理
#nvm use 版本号 arch             使用指定版本指定位数的Node.js
#nvm uninstall                  卸载指定版本的Node.js

nvm -v 查看nvm版本:
在这里插入图片描述
nvm 查看nvm相关信息:
在这里插入图片描述
nvm list available 和 nvm install Node.js的版本号 :
在这里插入图片描述
Node.js官网显示长期维护版为18.16.0最新尝鲜版20.3.0nvm list available获取的一致:

在这里插入图片描述
###安装并切换到Node.js 20.3.0全过程###:

nvm listnvm use Node.js的版本号
在这里插入图片描述

#查看使用的Node.js的版本
node -v

#查看Node.js对应的npm的版本
npm -v

#查看npm config配置的信息
npm config list

3.2 npm config set registry 设置镜像站

可参考我这篇
IDEA中Node.js环境下npm报错Error:0308010C:digital envelope routines:unsupported

在CMD中使用nmp config 中的npm config set命令配置镜像-regisry
注意:这里设置的镜像源是安装Node.js包的源。

#npm config set registry 设置镜像站
npm config set registry=http://registry.npm.taobao.org

在这里插入图片描述
###注意:由上图操作得出一个结论:registry设置一次,对你已经安装的所有的Node.js版本的包都有效果###

3.3 npm config set 配置node_global和node_cache

在CMD中使用nmp config 中的npm config set命令配置node_globalnode_cache文件夹

npm config set prefix "D:\front\nvm\node_global"
npm config set cache  "D:\front\nvm\node_cache"
#node_global是npm的全局模块的路径
#node_cache是npm使用时的cache即缓存的配置路径。

在这里插入图片描述

3.4 npm config get 获取npm 相关配置信息

#npm config list            查看npm config配置的信息
#npm config get cache       获取cache配置的信息 (npm使用时的cache即缓存的配置路径)
#npm config get prefix      获取npm的全局模块的路径
#npm config get registry    获取镜像信息

#经过测试下列简化命令也适用
#npm  get cache       获取cache配置的信息 (npm使用时的cache即缓存的配置路径)
#npm  get prefix      获取npm的全局模块的路径
#npm  get registry    获取镜像信息

在这里插入图片描述
#经过测试下列简化命令也适用【可忽略此步骤】
在这里插入图片描述

四、使用nvm、Node.js、npm协同工作流程

目前(2023-6-22 17:28:46 )Node.js长期维护版为18.16.1(推荐多数用户使用)最新尝鲜版20.3.1(含最新功能) :
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

4.1 流程

注意:Win7系统不支持最新版本Node.js,目前我在另一部机器上测试,最高版本只能使用Node.js13.14.0。
Win7系统使用最新版Node.js20.3.1出现错误
在这里插入图片描述
Win7系统使用长期支持版Node.js18.16.1出现错误:
Node.js is only supported on Windows 8.1,Windows server 2012 R2, or higher.
在这里插入图片描述
Win7系统使用Node.js13.14.0:
在这里插入图片描述

#1、通过nvm查看可用的Node.js的版本
nvm   list  available 

#2、查看目前已经安装Node.js的版本(查看已下载的Node.js的版本)
#nvm list  或 nvm ls           

#3、 安装需要的Node.js的版本 (如nvm install 18.16.1)【只会安装不会安装并自动切换到这个版本】
 #nvm   install Node.js的版本号  

#4、使用此版本
#nvm   use    Node.js的版本号    
使用Node.js 18.16.1 (如nvm use 18.16.1) 如果安装了多个Node.js包,就相当于切换版本。


#5、切换版本【同上,可忽略】
nvm   use    Node.js的版本号    

使用Node.js 20.3.1 全过程截图【从18.16.1切换到20.3.1】:
在这里插入图片描述
使用Node.js 18.16.1 全过程截图【从20.3.1切换到18.16.1】:
在这里插入图片描述

4.2 查看Node.js版本的相关配置信息

Node.js18.16.1的配置信息:
在这里插入图片描述
Node.js20.3.1的配置信息:
在这里插入图片描述
所以:cache、prefix、registry这些设置只需要配置一次就可以了,类似全局变量。
cache、prefix、registry按前面所述配置好了,这些信息保存在.npmrc 文件中:
在这里插入图片描述
在这里插入图片描述

4.3 使用过nvm进行Node.js版本切换的nvm文件目录

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

五、参考资料

nvm-sh
coreybutler/nvm-windows
nvm-windows 下载安装及踩坑
Index of /npm/
Windows nvm安装与使用
nvm for windows 下载、安装及使用
IDEA中Node.js环境下npm报错Error:0308010C:digital envelope routines:unsupported

猜你喜欢

转载自blog.csdn.net/qyfx123456/article/details/131341906