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

news2025/3/10 19:37:52

在这里插入图片描述

有很多小伙伴前端开发进程中,我们常常会遇到不同项目依赖不同版本 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 就会将该版本从你的系统中删除~

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

美畅物联丨P2P系列之STUN服务器:助力网络穿透

在当今WebRTC等实时通信应用广泛兴起的复杂网络环境下,如何在NAT(网络地址转换)环境中实现高效、稳定的点对点(P2P)连接成为关键。STUN(Session Traversal Utilities for NAT)服务器作为应对这一…

基于SpringBoot的“积分制零食自选销售平台”的设计与实现(源码+数据库+文档+PPT)

基于SpringBoot的“积分制零食自选销售平台”的设计与实现(源码数据库文档PPT) 开发语言:Java 数据库:MySQL 技术:SpringBoot 工具:IDEA/Ecilpse、Navicat、Maven 系统展示 系统总体结构图 局部E-R图 系统首页界面…

DeepSeek-V3 技术报告解读

DeepSeek火了有一段时间了,春节假期因为没时间,所以关于deepseek大模型一系列的技术报告一直没看,新年开工后,抽一点时间把之前的坑补起来,关于DeepSeek-V3技术报告的解读已经有很多了,但我相信不同的人去读…

力扣72题编辑距离

题目 原理 三个操作对应的操作次数分别是: 插入:在原本的次数上 1删除:在原本的次数上1替换:如果两个位置的字符串一样,则等于原本的次数, 如果不等,在原本的次数上1 去三者的最小值,就是最小的编辑次数 示例 代码 答案是2 package org.example;public class _72_编辑距离 {pu…

聊天服务器分布式改造

目前的聊天室是单节点的,无论是http接口还是socket接口都在同一个进程,无法承受太多人同时在线,容灾性也非常差。因此,一个成熟的IM产品一定是做成分布式的,根据功能分模块,每个模块也使用多个节点并行部署…

linux上安装redis[从0到1]

redis安装步骤 1.下载redis2.新建redis文件夹3.解压安装Redis4.编译5.修改相关配置6.错误 redis下载官网: https://download.redis.io/releases/ 找到自己需要的版本 1.下载redis 选着自己需要下载的版本后,右击选择复制链接,然后利用命令进行下载&am…

批量删除 Excel 中的空白行、空白列以及空白表格

我们经常会碰到需要删除 Excel 文档表格中的空白行及空白列的场景,有一些空白行或空白列可能我们人工不好识别,因此删除空白行空白列对我们来讲就非常的繁琐,因为我们需要先识别哪些 Excel 文档中包含空白行或者空白列,我们才能够…

MYSQL之创建数据库和表

创建数据库db_ck (下面的创建是最好的创建方法,如果数据库存在也不会报错,并且指定使用utf8mb4) show databases命令可以查看所有的数据库名,可以找到刚刚创建的db_ck数据库 使用该数据库时,发现里面没有…

腾讯元宝:AI 时代的快速论文阅读助手

1. 背景与需求 在 AI 研究领域,每天都会涌现大量学术论文。如何高效阅读并提取关键信息成为研究者的一大难题。腾讯元宝是腾讯推出的一款大模型,结合了**大语言模型(LLM)和自然语言处理(NLP)**技术&#x…

重构谷粒商城09:人人开源框架的快速入门

谷粒商城09——人人开源框架的快速入门 前言:这个系列将使用最前沿的cursor作为辅助编程工具,来快速开发一些基础的编程项目。目的是为了在真实项目中,帮助初级程序员快速进阶,以最快的速度,效率,快速进阶…

redis数据迁移教程(使用RedisShake实现不停机迁移十分便捷)

1.我的场景 需要把本地的redis数据上传到阿里云服务器上面,服务器上redis并没有开aof持久化,但是将rdb文件上传至服务器后每次重启redis,rdb文件会被覆盖导致无法同同步数据,最终决定使用RedisShake 2.RedisShake介绍 什么是 RedisShake​ RedisShake 是一个用于处理和迁移…

2025年2月平价旗舰手机性能对比

1、荣耀Magic7 点评:缺席潜望式长焦,3X直立长焦体验还行。兼顾性能、游戏、屏幕、影像、续航、快充等诸多方面,且外围配置比较齐全。 2、vivo x200 点评:潜望式长焦相机,拍照效果好,30W无线充电着实鸡肋&a…

Golang学习笔记_44——命令模式

Golang学习笔记_41——观察者模式 Golang学习笔记_42——迭代器模式 Golang学习笔记_43——责任链模式 文章目录 一、核心概念1. 定义2. 解决的问题3. 核心角色4. 类图 二、特点分析三、适用场景1. 事务管理系统2. 多媒体遥控器3. 操作审计系统 四、Go语言实现示例五、高级应用…

【单片机通信技术】STM32 HAL库 SPI主从机通过串口发送数据

一、说明 使用STM32F103C8T6最小系统板,让板载SPI1与SPI2通信,通过串口收发数据。本文章说明了在配置与编写时遇到的一些问题,以及详细说明如何使用cubeMAX进行代码编写。 二、CubeMAX配置 1.时钟配置选择外部高速时钟 2.系统模式与时钟配…

laravel中 添加公共/通用 方法/函数

一,现在app 下面创建Common目录,然后在创建Common.php 文件 二,修改composer.json文件 添加这个到autoload 中 "files": ["app/Common/Common.php"]"autoload": {"psr-4": {"App\\": &quo…

Jetpack Compose — 入门实践

一、项目中使用 Jetpack Compose 从此节开始,为方便起见,如无特殊说明,Compose 均指代 Jetpack Compose。 开发工具: Android Studio 1.1 创建支持 Compose 新应用 新版 Android Studio 默认创建新项目即为 Compose 项目。 注意:在 Language 下拉菜单中,Kotlin 是唯一可…

P8686 [蓝桥杯 2019 省 A] 修改数组--并查集 or Set--lower_bound()的解法!!!

P8686 [蓝桥杯 2019 省 A] 修改数组--并查集 题目 并查集解析代码【并查集解】 Set 解法解析lower_bound代码 题目 并查集解析 首先先让所有的f(i)i,即每个人最开始的祖先都是自己,然后就每一次都让轮到那个数的父亲1&#xff08…

应用案例 | 精准控制,高效运行—宏集智能控制系统助力SCARA机器人极致性能

概述 随着工业4.0的深入推进,制造业对自动化和智能化的需求日益增长。传统生产线面临空间不足、效率低下、灵活性差等问题,尤其在现有工厂改造项目中,如何在有限空间内实现高效自动化成为一大挑战。 此次项目的客户需要在现有工厂基础上进行…

Greenplum6.19集群搭建

一,安装说明 1.1环境说明 1、首先确定部署的环境,确定下服务器的端口,一般默认是22的端口; 2、当前这份文档是服务器处于10022端口下部署的(现场生产环境要求,22端口在生产环境存在安全隐患)&…

胜软科技冲刺北交所一年多转港股:由盈转亏,毛利率大幅下滑

《港湾商业观察》施子夫 近期,山东胜软科技股份有限公司(以下简称,胜软科技)递表港交所获受理,独家保荐机构为广发证券(香港)。 在赴港上市之前,胜软科技还曾谋求过A股上市&#x…