likes
comments
collection
share

Nodejs多版本管理工具nvm

作者站长头像
站长
· 阅读数 59

前言

最近将本地的node版本由14.16.0升级到了16.14.0,以前用vue2.0写的项目,依赖的环境是14.16.0,安装新的Node版本后,项目启动报错,于是引入Node多版本管理的工具nvm,可以在同一台电脑上安装多个不同版本的Nodejs,而且可以随意切换版本。

Windows上安装nvm

  1. 记住当前的Node版本号,方便后面重装时使用;
  2. 卸载电脑中的已有的Node;
  3. 安装nvm 开始时,去github的官网,参照官网的命令执行了多次,但是总是提示安装失败,也查了不少解决方案,都没安装成功。如果你也是windows系统,建议按以下方式安装,成功率高。

在官网下载安装包,选择nvm-setup.zip安装包,下载到本地即可安装成功。

Nodejs多版本管理工具nvm 安装完成后,在shell命令行键入nvm -v,看到版本号,说明nvm已经安装成功:

Nodejs多版本管理工具nvm

常用命令如下:

  • nvm install <version> 安装指定版本
  • nvm uninstall <version> 删除已安装的指定版本
  • nvm use <version> 切换使用指定的版本node
  • nvm list 列出所有安装的版本
  • nvm current 显示当前的版本

使用nvm

接下来,我们通过nvm安装Node,我的电脑原Node版本是14.16.0,现最新的稳定版本是16.14.0,安装这两个版本:

nvm install 14.16.0
nvm install 16.14.0

请根据你的需要安装指定的Node版本,安装完后键入nvm list,可以查看已安装的Node版本:

Nodejs多版本管理工具nvm

在React的项目中,我们需要使用最新版的Node,键入nvm use 16.14.0 键入后报错:

exit status 1: Access is denied.

访问被拒绝,说没有权限,关闭当前命令行窗口,鼠标右键->选择【以管理员模式运行】,再次键入nvm use 16.14.0,显示如下:

$ nvm use 16.14.0
Now using node v16.14.0 (64-bit)

再查看当前版本:

$ nvm current
v16.14.0

OK,这就是我们需要的Node最新版本了, 可以正常安装项目依赖了。

nvm安装后找不到npm

在16.14环境的npm正常运行,切换到14.16.0,vue2.0项目启动运行报错。

键入npm -v提示:没有这个文件或目录

Nodejs多版本管理工具nvm

npm包管理器是Nodejs下自带的,不需要另外安装,只好排查原因。

寻找Node安装路径,在C:\Program Files能看到nodejs的快捷方式

Nodejs多版本管理工具nvm

右击鼠标->点击【属性】,打开属性对话框

Nodejs多版本管理工具nvm

点击【打开文件所在的位置】,打开nvm的安装目录,能看到Node将所有安装的Nodejs的不同版本存放在这个目录下。

Nodejs多版本管理工具nvm

当使用nvm use命令时,会将对应版本的Nodejs目录中的内容拷贝到C:\Program Files\nodejs目录中,从而达到切换不同Node.js版本的目的。

Nodejs多版本管理工具nvm

我们打开v14.16.0的目录和v16.14.0的目录,发现v14.16.0下的文件偏少,只有node_modules和node.exe两个文件:

Nodejs多版本管理工具nvm

通过查询得知,这种情况,是nvm安装的14.16.0没有成功安装,需要手动安装文件到指定位置。

  1. 卸载已有的版本

    Nodejs多版本管理工具nvm

  2. 从官网下载安装包到指定位置

从官网下载node-v14.16.0-x64.msi安装包,在选择安装目录时,将nvm的安装目录贴进去 C:\Users\用户名\AppData\Roaming\nvm。安装成功后,再次打开v14.16.0目录,能看到Nodejs已经安装成功了。

Nodejs多版本管理工具nvm

安装好后,再次运行nvm use 14.16.0,执行npm -v,执行成功。

OK,搞定!可以正常使用nvm了~

转载自:https://juejin.cn/post/7076312463171387406
评论
请登录