nvm 让 Node.js 版本切换更灵活

在这里插入图片描述

有很多小伙伴前端开发进程中,我们常常会遇到不同项目依赖不同版本 Node.js 的情况。我们不可能去卸载重新安装适应的版本去安装依赖或者启动项目。为了避免版本冲突带来的一系列麻烦,在这里给大家推荐一款Node.js 版本管理工具——nvm(Node Version Manager)应运而生。今天,就来重点讲讲在 Windows 系统下如何安装 nvm 以及它的一些常用命令操作。注意要先卸载掉本地nodeJS版本

一、Windows 下 nvm 的安装

  1. 首先,打开浏览器,访问 nvm-windows 的官方 GitHub 仓库:https://github.com/coreybutler/nvm-windows。在页面右侧的“Releases”部分,找到最新版本的下载链接并点击下载安装包。一般文件名类似“nvm-setup.zip”。
  2. 下载完成后,解压安装包。双击运行解压出来的“nvm-setup.exe”安装程序。安装向导开启后,一路点击“Next”即可。不过,这里有个小细节要注意:安装路径最好选择默认路径或者自定义一个全英文且没有空格的路径,例如“C:\Program Files\nvm”,这样可以避免后续可能出现的一些莫名奇妙的错误。
  3. 在安装过程中,安装程序会自动为我们配置系统环境变量,无需我们手动干预。安装完成后,打开命令提示符(CMD)或者 PowerShell,输入“nvm -v”,如果能成功显示出版本号,那就说明 nvm 已经顺利安装到你的 Windows 系统上啦!
    在这里插入图片描述
    在这里插入图片描述

二、nvm 的常用命令详解

(一)安装 Node.js 版本

  1. 查看可用版本:在命令提示符或 PowerShell 中输入“nvm list available”,这会列出所有可以通过 nvm 安装的官方 Node.js 版本。你可以根据项目需求从中挑选合适的版本进行安装。例如:
nvm list available

输出结果可能如下(nodeJS版本号):

|   CURRENT    |     LTS      |  OLD STABLE  | OLD UNSTABLE |
|-------------|-------------|-------------|-------------|
|     18.16.0  |    16.20.0   |   14.21.3   |   0.12.18   |
|     18.15.0  |    16.19.1   |   14.21.2   |   0.12.17   |
|     18.14.2  |    16.19.0   |   14.21.1   |   0.12.16   |
...
  1. 安装指定版本:确定好要安装的版本后,使用命令“nvm install [版本号]”。比如要安装 Node.js 16.20.0,输入:
nvm install 16.20.0

nvm 就会自动从官方源下载并安装该版本,这个过程可能需要一些时间,取决于你的网络速度。安装完成后,就可以使用这个版本的 Node.js 啦。

(二)切换 Node.js 版本

当你进入不同项目目录,需要切换到对应的 Node.js 版本时,nvm 让这一切变得轻而易举。

  1. 切换到已安装版本:在项目根目录下,执行“nvm use [版本号]”。假设当前项目需要 Node.js 14.0.1,而你之前安装过 14.0.1 版本,输入:
nvm use 14.0.1

系统就会切换到 Node.js 14 版本运行环境。如果该版本尚未安装,nvm 会先自动安装再切换,是不是超级贴心?切换完成后,你可以通过“node -v”和“npm -v”命令来确认是否切换成功。
2. 设置默认版本:如果你有一个日常开发中最常用的 Node.js 版本,不想每次打开终端都手动切换,可以将其设置为默认版本。使用命令“nvm alias default [版本号]”。例如:

nvm alias default 16

之后每次打开新的终端窗口,系统就会自动启用 Node.js 16 版本,大大提高开发效率。
在这里插入图片描述

(三)查看已安装版本

想要快速了解自己通过 nvm 安装了哪些 Node.js 版本?输入“nvm list”命令即可。它会列出所有本地已安装的版本,并且当前正在使用的版本前面会有一个“*”号标识,让你一眼就能看清现状。例如:

nvm list
  18.16.0
* 16.20.0
  14.21.3

这表明当前系统正在使用 Node.js 16.20.0 版本,同时还安装了 18.16.0 和 14.21.3 版本。

(四)卸载 Node.js 版本

如果某个 Node.js 版本不再需要,为了节省磁盘空间,可以使用“nvm uninstall [版本号]”命令将其卸载。比如要卸载 Node.js 14.0.1:

nvm uninstall 14.0.1

nvm 就会将该版本从你的系统中删除~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/982422.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

豆包大模型 MarsCode AI 刷题专栏 001

001.找单独的数 难度:易 问题描述 在一个班级中,每位同学都拿到了一张卡片,上面有一个整数。有趣的是,除了一个数字之外,所有的数字都恰好出现了两次。现在需要你帮助班长小C快速找到那个拿了独特数字卡片的同学手上…

迭代器模式:遍历集合的艺术

文章目录 什么是迭代器模式?现实中的例子迭代器模式的结构代码示例1. 定义Iterator接口2. 实现ConcreteIterator3. 定义Aggregate接口4. 实现ConcreteAggregate5. 客户端代码输出结果 迭代器模式的优缺点优点缺点 总结 在软件开发中,我们经常需要遍历集合…

通用文件模型

一、通用文件模型 通常一个完整的Linux系统有数千到数百万个文件组成,文件中存储了程序、数据和各种信息。层次化的目录结构用于对文件进行编排和分组。 1.ReiserFS(新型的文件系统) -->Reiser4 它通过一种与众不同的方式----完全平衡树来容纳数据,包…

DeepSeek + 飞书多维表格搭建你的高效工作流

众所周知,大模型DeepSeek擅长于处理大规模语言模型推理任务,特别是在成本降低和思维链推理方面表现出色‌,我们一般把大模型必做我们的大脑,但是一个人不能只有大脑,还需要其他输入输出以及操作支配的眼耳鼻嘴手足等。…

微服务架构下的 Node.js

Node.js 在微服务架构中的特点 轻量级和高效性 Node.js 以其轻量级和高效的特点,非常适合构建微服务架构。它具有事件驱动和非阻塞 I/O 模型,能够在处理高并发请求时表现出色。这意味着 Node.js 可以同时处理大量的并发连接,而不会因为阻塞…

用DeepSeek-R1-Distill-data-110k蒸馏中文数据集 微调Qwen2.5-7B-Instruct!

下载模型与数据 模型下载: huggingface: Qwen/Qwen2.5-7B-Instruct HF MirrorWe’re on a journey to advance and democratize artificial intelligence through open source and open science.https://hf-mirror.com/Qwen/Qwen2.5-7B-Instruct 魔搭&a…

flask-定时任务

文章目录 前言一、APScheduler是什么二、APScheduler 主要功能:三、主要组成部分:四、典型使用场景:五、具体使用1.安装 APScheduler2.假设我们有一个需要五分钟请求一次http接口的任务1.定义一个scheduler.py去专门处理定时2.启动文件处理3.…

Python的Pandas和matplotlib库:让数据可视化贼简单

在数据爆炸的时代,数据可视化已成为数据分析的关键环节。Python 作为强大的编程语言,拥有众多用于数据可视化的库,而 pandas 库在其中扮演着重要角色。它不仅能高效处理和分析数据,还具备强大的数据可视化功能,让我们轻…

rabbitmq版本升级并部署高可用

RabbitMQ版本升级 先检查是否已经安装rabbitmq rpm -qa|grep rabbitmq|wc -l //如果结果是0,表示没有安装 rpm -e --nodeps $(rpm -qa|grep rabbitmq) //如安装了,则进行卸载 先检查是否已经安装erlang rpm -qa|grep erlang|wc -l //如果结果…

Electron-Forge + Vue3 项目初始化

本人对Electron的浅薄理解如下图所示 由上图可以,如果你需要开发一个electron应用,你得具备基本的前端开发经验。对于electron相关的知识,建议先了解下基本的窗口操作,比如新建窗口、关闭窗口等简单的操作,这些内容在…

pinginfoview网络诊断工具中文版

介绍 pinginfoview中文版本是一款实用的网络诊断工具,它专为中文用户设计,提供了方便易用的界面,使得在Windows环境下进行ping测试变得更加简单。该工具是由NirSoft开发的一款免费的桌面应用程序,尽管官方可能并未正式发布中文版…

DeepSeek R1 + 飞书机器人实现AI智能助手

效果 TFChat项目地址 https://github.com/fish2018/TFChat 腾讯大模型知识引擎用的是DeepSeek R1,项目为sanic和redis实现,利用httpx异步处理流式响应,同时使用buffer来避免频繁调用飞书接口更新卡片的网络耗时。为了进一步减少网络IO消耗&…

Go学习笔记:基础语法3

1. 常量 Go语言中的常量使用关键字const定义,用于存储不会改变的数据,常量是在编译时被创建的,即使定义在函数内部也是如此,并且只能是布尔型、数字型(整数型、浮点型和复数)和字符串型。 由于编译时的限…

010---基于Verilog HDL的分频器设计

文章目录 摘要一、时序图二、程序设计2.1 rtl2.2 tb 三、仿真分析四、实用性 摘要 文章为学习记录。绘制时序图,编码。通过修改分频值参数,实现一定范围分频值内的任意分频器设计。 一、时序图 二、程序设计 2.1 rtl module divider #(parameter D…

EX_25/3/6

1&#xff1a;是进度条通过线程自己动起来 myThread.h #ifndef MYTHREAD_H #define MYTHREAD_H#include <QThread>class myThread : public QThread {Q_OBJECT public:myThread(QObject* partennullptr);signals:void sig(int value);protected:void run();private:int…

客户端及时通讯系统(1)

编写核心数据结构 一、核心数据结构介绍二、将本地新项目推送到gitee已有仓库上三、代码实现3.1 核心数据结构成员变量设计和工具类设计 一、核心数据结构介绍 1&#xff09;用户信息&#xff08;UserTnfo&#xff09; 用户的属性 2&#xff09;会话信息&#xff08;ChatSess…

针对半导体行业招聘系统有哪些?

近年来&#xff0c;全球半导体产业迎来爆发式增长&#xff0c;芯片设计、制造、封装等环节对高技能人才的需求急剧攀升。然而&#xff0c;行业面临多重挑战&#xff1a;技术迭代快导致岗位要求动态变化、优质人才争夺激烈、传统招聘模式效率低下。以某头部半导体企业为例&#…

汽车智能钥匙中PKE低频天线的作用

PKE&#xff08;Passive Keyless Entry&#xff09;即被动式无钥匙进入系统&#xff0c;汽车智能钥匙中PKE低频天线在现代汽车的智能功能和安全保障方面发挥着关键作用&#xff0c;以下是其具体作用&#xff1a; 信号交互与身份认证 低频信号接收&#xff1a;当车主靠近车辆时…

清华大学DeepSeek赋能家庭教育【附下载链接】

核心要点&#xff1a; DeepSeek通过基础模型&#xff08;V3&#xff09;、深度思考模型&#xff08;R1&#xff09;及联网模型&#xff0c;为家庭教育提供分层支持&#xff1a;V3用于作业辅导&#xff0c;R1培养批判性思维&#xff0c;联网模型助力探究性学习。家长需遵循目标导…

是德科技十周年:以创新丈量未来,用科技赋能世界

是德科技成立十周年&#xff0c;以全球测试测量领域领军者的姿态&#xff0c;书写了一部突破与创新的发展史诗。作为从惠普、安捷伦深厚技术积淀中孕育而生的行业标杆&#xff0c;十年来是德科技始终站在科技浪潮之巅&#xff0c;构建起覆盖5G通信、人工智能、汽车电子、量子计…