【工具篇】使用 nvm 进行 node 版本管理

前言

当接触的项目过多时就会发现,特喵的怎么每个项目的 node.js 版本都不一致?!

低版本 node 无法运行高版本项目,高版本 node 又不兼容低版本项目

如何快速的来回切换 node 版本成为了每一名前端同仁的必备技能

为解决此痛点,市面上出现了很多的 node 版本管理工具:nvm、nvs、Volta、fnm 等,这里我们使用 nvm 作教程讲解

1. 安装 nvm

注意:安装 nvm 之前,一定得先卸载干净 node.js!!!
注意:有了 nvm 就不需要单独安装 node 了,直接使用 nvm 安装切换 node 版本即可

windows 适用版本为 nvm-windows:github.com/coreybutler...

下载安装包(nvm-setup.exe)安装到本地(选择默认安装路径并且一直点击下一步即可),注意自定义路径注意不能有中文或者空格

提示!记住这里的安装目录,后面用得上!

2. node 安装与切换

输入命令 nvm v 能显示当前 nvm 版本号即说明安装成功

然后下载一个 node 版本

bash 复制代码
nvm install 16

切换到 node 16

bash 复制代码
nvm use 16

查看 nvm 中安装的 node 版本列表,以及当前所选择版本(星号)

bash 复制代码
nvm list

然后就可以通过 node -vnpm -v 命令查询到当前的 node 和 npm 版本了

注意!npm 版本是跟随 node 版本变动的!

3. 设置淘宝源

由于国内网络等原因,使用 mpm install xxx 安装依赖包的过程中会出现安装过慢以及失败导致报错,所以我们把 npm 镜像源指向国内淘宝 npm 镜像源

前面提醒的 nvm 安装目录还记得住吗?默认目录一般在这个位置"C:\Users\你的用户名\AppData\Local\nvm"

如果实在找不到了,就再重新安装一次吧

骗你的哈哈,可以 cmd 运行nvm root这个命令查看 nvm 的安装根路径在哪个文件夹

找到 nvm 安装目录下面的 settings.txt 文件

记事本打开 "settings.txt" 文件并在后面粘贴下面两句话即可

cmd 复制代码
node_mirror: https://npmmirror.com/mirrors/node/
npm_mirror: https://npmmirror.com/mirrors/npm/

今后 nvm 安装的所有 node 版本都会指向淘宝镜像源了

检查当前 npm 镜像源

bash 复制代码
npm config get registry

如果输出结果指向淘宝源 https://registry.npmmirror.com 即修改成功;以后运行 npm xxx 命令安装依赖包就是使用的淘宝 npm 镜像了;

4. nvm 常用操作命令

至此,nvm 已经安装成功,下面介绍常用命令

bash 复制代码
nvm v // 显示nvm版本

nvm root // 查看nvm的安装根路径在哪个文件夹

nvm list // 显示已安装node的版本

nvm list available // 显示所有可以下载的node版本

nvm install 14.5.0 // 安装14.5.0版本node

nvm install latest // 安装最新版本node

nvm use 14.5.0 // 使用14.5.0版本node

nvm uninstall 14.5.0 // 卸载14.5.0版本node

5. 使用 yarn 替换 npm install

因为 npm 设计之初的一些历史遗留问题,使用 npm 进行依赖包的安装经常会出现莫名其妙的错误。建议大家使用 yarn 替换 npm i 进行包的安装

bash 复制代码
npm install -g yarn // 全局安装yarn

yarn -v // 查看yarn版本

npm get registry // 查看当前yarn源

npm config set registry https://registry.npmmirror.com // 更改为淘宝yarn源

yarn install // 安装package.json里所有包

参考淘宝 npm 镜像站:npmmirror.com/

注意!yarn 是跟 node 版本进行绑定的!

6. nvm 常见报错

下面是我曾经遇到过的报错,大家如果碰到同样的问题可以作为参考

  • nvm 切换 node 报错

    注意:使用 nvm use 14.5.0 命令切换 node 版本的时候报错"exit status 1: ��û��� 㹻 ��Ȩ��ִ�д",通过管理员身份打开命令提示符后重新运行命令即可解决

    注意:如果出现乱码,可以打开 cmd 命令,运行chcp 65001,然后将乱码的话复制按回车,即可翻译这句乱码的话的意思;甚至将乱码的话复制到 cmd 命令按回车就可以翻译;

    注意:如果运行 npm install 报错 npm ERR! cb() never called!,可以通过切换为原来的镜像源(不使用淘宝镜像)来解决

    bash 复制代码
    npm config set registry https://registry.npmjs.org/
  • nvm 切换 node 不起作用

    问题:nvm 切换 node 版本成功(Currently using 64-bit executable),但是 node -v 却提示(Currently using 32-bit executable),等于说 node 一直停留在之前版本,并没有切换成功;

    解决办法:1.卸载干净 node.js; 2.重新使用 nvm use 指定 node 版本;

    复盘发现问题出现的原因是:node.js 不小心安装成了 32(84)位

  • vscode 运行 yarn 报错

    在 cmd 里可以正常运行 yarn 命令,但是在 vscode 中运行报如下错误:

    yarn : 无法加载文件 C:\nvm4w\nodejs\yarn.ps1,因为在此系统上禁止运行脚本。

    解决方案:

    以管理员身份运行 PowerShell。输入 set-ExecutionPolicy RemoteSigned;然后选择 A。

    然后回到 vscode 运行 yarn -v 即可正确显示 yarn 版本号

  • vscode 运行 yarn 又报错

    报错如下:

    yarn : 无法将"yarn"项识别为 cmdlet、函数、脚本文件或可运行程序的名称。

    解决方案:

    经过排查,是因为在 node 版本为 19 的时候安装了 yarn,但是我又通过 nvm 将 node 版本切换到了 21,运行 yarn -v命令发现 yarn 竟然未安装?原来 yarn 竟然是跟 node 绑定的?

    所以我用 nvm 切换 node 为 21 版本的时候,运行命令 npm install -g yarn 重新安装 yarn,然后运行yarn -v命令查看 yarn 版本,正确显示 yarn 版本,表示已经成功安装

相关推荐
崔庆才丨静觅26 分钟前
hCaptcha 验证码图像识别 API 对接教程
前端
passerby60611 小时前
完成前端时间处理的另一块版图
前端·github·web components
掘了1 小时前
「2025 年终总结」在所有失去的人中,我最怀念我自己
前端·后端·年终总结
崔庆才丨静觅1 小时前
实用免费的 Short URL 短链接 API 对接说明
前端
崔庆才丨静觅2 小时前
5分钟快速搭建 AI 平台并用它赚钱!
前端
崔庆才丨静觅2 小时前
比官方便宜一半以上!Midjourney API 申请及使用
前端
Moment2 小时前
富文本编辑器在 AI 时代为什么这么受欢迎
前端·javascript·后端
崔庆才丨静觅2 小时前
刷屏全网的“nano-banana”API接入指南!0.1元/张量产高清创意图,开发者必藏
前端
剪刀石头布啊3 小时前
jwt介绍
前端
爱敲代码的小鱼3 小时前
AJAX(异步交互的技术来实现从服务端中获取数据):
前端·javascript·ajax