Skip to content

NVM安装与使用

简介

在实际的前端开发过程中,可能会经常遇见 node.js 的版本问题,不同的项目需要使用不同的 node.js 版本。

直接安装的话,只能安装和使用 node.js 的一个版本。可以使用 nvm 来安装和管理不同版本的 node.js。

nvm 是 Mac 下的 node.js 管理工具。可以通过 nvm 安装和切换不同版本的 node.js。

在 Windows 下面,可以使用 nvmw 或者 nvm-windows

如果有安装过node,最好进行卸载,因为自己安装的,nvm控制不了,会出现一些意想不到的报错,先安装nvm,再使用nvm命令安装需要的版本即可!

Windows 下 nvm 安装

安装步骤如下:

到 github 上面下载。下载地址:https://github.com/coreybutler/nvm-windows/releases

环境配置:

需要在用户变量系统变量都设置

变量
NVM_HOMED:\nvm\nvm
NVM_SYMLINKD:\nvm\nodejs

下载node:

nvm使用 nvm install [node的版本] 下载node

使用 nvm use 12.18.0 使用对应版本的node

安装较慢,换源:

在nvm下的settings.txt添加如下:

root: E:\software\nvm
path: E:\software\nvm\nodejs
node_mirror: https://npmmirror.com/mirrors/node/
npm_mirror: https://npmmirror.com/mirrors/npm/

# 下面的淘宝源22年已经停止使用了
node_mirror: https://npm.taobao.org/mirrors/node/
npm_mirror: https://npm.taobao.org/mirrors/npm/

root:安装的根目录

path:nodejs目录快捷方式

node_mirror:node源

npm_mirror:npm源

备注:

nvm-noinstall.zip :绿色免安装版,但使用时需进行配置环境变量。

nvm-setup.zip :安装版,推荐使用。

node.js 安装路径(就是以后下载的不同版本 node.js 的安装路径,推荐不要放在 C 盘,不要有空格、特殊字符等)

配置全局依赖的环境变量

D:\nvm\nvm\v1*.**.0下面的node_modules是在node安装npm时创建的

我们在node_modules下面创建:node_global 和 **node_cache**这个两个文件夹

设置环境变量:

在系统环境变量下面的 PATH 里面创建一个新的环境变量

路径即为 node_global 这个文件夹所在的路径

npm的配置

设置npm下载依赖包的位置

使用指令

bat
npm config ls
bat
npm config set prefix "D:\nvm\nodejs\node_modules\node_global"
# 以下个人使用,与上面这条命令一样,按自己的修改上面的使用即可
npm config set prefix "E:\software\nodejs\node_modules\node_global"

此指令表示npm下载的依赖包,将会放在node_global文件下

bat
npm config set cache "D:\nvm\nodejs\node_modules\node_cache"
# 以下个人使用,与上面这条命令一样,按自己的修改上面的使用即可
npm config set cache "E:\software\nodejs\node_modules\node_cache"

此指令表示npm产生的缓存文件,将会在node_cache目录下

配置.npmrc文件

D:\nvm\nvm\v1*.**.0\node_modules\npm\.npmrc

添加一条 registry=https://registry.npm.taobao.org 设置淘宝镜像

使用 npm config set 指令添加文件地址与在 .npmrc文件内 直接添加文件地址 效果等同

npm config set registry https://registry.npmmirror.com

旧的,已经不能使用了:npm config set registry https://registry.npm.taobao.org

使用cnpm下载

npm install -g cnpm --registry=https://registry.npm.taobao.org

安装(淘宝镜像)cnpm 指令

使用cnpm原因:由于npm的接口是github,国外网站在国内下载速度相对较慢,cnpm是的接口是淘宝镜像(淘宝镜像会定期更新github的源码),相对来说,国内的接口会更快一些,所以我们在全局安装cnpm指令以后,都用cnpm去安装依赖包

例:使用cnpm全局安装gulp依赖

bat
cnpm i gulp -g

npm 成功下载的依赖包 使用 -v指令 发现下载的包不存在的原因

出现该情况原因一般是环境变量没有配置好

在3.2设置环境变量PATH的路径 ,一定要和4.1设置npm依赖包的路径(npm config set prefix")相同,即 :

D:\nvm\nodejs\node_modules\node_global

npm下载的依赖包会在node_global文件下,因此,我们设置的环境变量的地址(全局的寻找范围)也应该是node_global 如果这两者不同,就会出现 依赖包寻找不到的情况

常用命令

nvm ls :列出所有已安装的 node 版本

nvm list :列出所有已安装的 node 版本

nvm list available :显示所有可下载的版本

nvm install latest:安装最新版 node

nvm install [node版本号] :安装指定版本 node

nvm uninstall [node版本号] :删除已安装的指定版本

nvm use [node版本号] :切换到指定版本 node

nvm current :当前 node 版本

nvm unalias [别名] :删除已定义的别名

其他

使用中出现的问题:

1、 默认nvm的安装地址:C:\Users\wds\AppData\Roaming\nvm

2、 cmd地址:C:\Windows\System32

3、 nvm use 版本报错,出现exit status 1后面跟一堆[乱码]

此时是因为无权限,打开c盘C:\Windows\System32找到[cmd]以管理员身份打开,再次使用nvm use 版本报错命令,成功切换

4、在c盘安装nvm与node 会出现node不能使用的情况,推荐使用其他盘符,并进行设置修改,新增

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

最好的安装的时候就把安装目录修改,不要在C盘,不要在C盘,不要在C盘。。。(重要的事情说三遍!!!)