轻松管理 Node.js 版本和 NPM 源:一文了解 nvm 和 nrm 的使用

在 Node.js 开发环境中,版本管理和镜像源管理是两个至关重要的方面,直接影响着项目的构建效率与稳定性。为此,开发者们广泛采用两个实用工具:nvm(Node Version Manager)和 nrm(NPM Registry Manager)。本文将详细介绍这两款工具的用途、安装步骤以及日常使用方法,旨在帮助您更高效地驾驭 Node.js 开发工作。

一、NVM:轻松管理多版本 Node.js

1.1 什么是 NVM

nvm(Node Version Manager)是一个用于管理 Node.js 版本的工具,它被设计成每个用户独立安装,并在每个终端会话中调用。nvm 可以在任何符合 POSIX 标准的 shell(如 sh、dash、ksh、zsh、bash)上运行,特别适用于以下平台:Unix、macOS 和 Windows 的 WSL(Windows Subsystem for Linux)。

nvm 的主要功能是允许用户轻松切换不同版本的 Node.js,并在不同的项目中使用不同的 Node.js 版本。它为每个已安装的 Node.js 版本提供隔离的运行环境,使得用户可以在同一系统上同时使用多个 Node.js 版本而不会相互干扰。

1.2 NVM 安装与基本使用

安装

对于 Linux 和 macOS 用户,可以通过 curl 或 wget 命令从官方 GitHub 仓库获取安装脚本并运行:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
# 或者使用 wget
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash

对于 Windows 用户,可以下载并安装 nvm-windows。

基本使用

安装 Node.js 版本:

// 安装最新稳定版的 Node.js:
nvm install stable
// 安装指定版本的 Node.js
nvm install <version>
// 例如:nvm install 14.17.0

切换 Node.js 版本:

//切换到已安装的其中一个版本:
nvm use <version>  //(例如:`nvm use 14.17.0`)
//可以通过简写版本号进行切换(例如 `nvm use 14`),nvm 将自动选择符合的已安装版本。
//如果在项目目录中创建了 `.nvmrc` 文件,nvm 在进入该目录时会自动切换到文件中指定的 Node.js 版本。

查看已安装的 Node.js 版本:

// 列出已安装的所有版本:
nvm ls
// 列出远程可用的所有版本:
nvm ls-remote

卸载 Node.js 版本:

//卸载指定的 Node.js 版本:
nvm uninstall <version> //(例如:`nvm uninstall 14.17.0`)

设置默认的 Node.js 版本:

# 设置默认的 Node.js 版本
nvm alias default <version> # 例如:nvm alias default 14.17.0
# 这样,在新打开的终端中将自动使用默认版本。

运行 Node.js 命令和 npm:

# 运行 Node.js 命令和 npm
nvm exec <version> <command> # 例如:nvm exec 14.17.0 node -v
# 在已安装的 Node.js 版本下运行命令

nvm run <command> # 例如:nvm run node -v
# 在当前使用的 Node.js 版本下运行命令

1.3 NVM 高级技巧

在项目目录中创建 .nvmrc 文件,写入所需的 Node.js 版本号。当进入此目录时,执行 nvm use(无需指定版本)即可自动切换到文件中指定的版本。

卸载不再需要的版本:使用 nvm uninstall <version> 删除指定的 Node.js 版本。

二、NRM:灵活切换 NPM 源,提升包管理效率

2.1 了解 NRM

NRM,即 NPM Registry Manager,是一个便捷的 NPM 源管理工具。它允许开发者快速在多个官方或第三方 NPM 镜像源之间切换,优化包下载速度,尤其是在网络环境不佳或官方源访问受限时提供可靠备选方案。

在开发中,我们通常需要安装很多 npm 包,而默认的 npm 源有时候就可能下载很慢,所以就需要切换 npm 源,nrm 就可以帮助我们管理和切换 nrm 源。其特点如下:

管理多个源:nrm 允许管理多个 npm 源,例如官方源、淘宝源、cnpm 源等。你可以根据需要快速切换不同的源。

快速切换:nrm 提供了快捷的命令来切换 npm 源,无需手动修改配置文件。你可以通过简单的命令在不同的源之间进行切换。

测试速度:nrm 可以测试各个源的响应速度,并给出评分,帮助你选择最快的源来加快依赖包的下载速度。

2.2 NRM 安装与配置

安装
通过 npm 全局安装 NRM:

npm install -g nrm

配置与使用

# 查看可用源:使用以下命令查看当前可用的源列表
nrm ls

# 切换源:要切换到某个源,可以使用以下命令
nrm use <源名称> # 例如:nrm use taobao

# 测试源的速度:通过以下命令测试各个源的响应速度
nrm test

# 添加自定义源:如果有自定义的源,可以通过以下命令添加
nrm add <源名称> <源地址> # 例如:nrm add myregistry http://myregistry.com/

# 删除源:要删除已添加的源,可以使用以下命令
nrm del <源名称>

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

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

相关文章

嵌入式——AStyle格式化工具

&#x1f3ac; 秋野酱&#xff1a;《个人主页》 &#x1f525; 个人专栏:《Java专栏》《Python专栏》 ⛺️心若有所向往,何惧道阻且长 文章目录 keil配置快捷键配置 AStyle&#xff08;Artistic Style&#xff09;是一个开源的代码自动格式化工具&#xff0c;可以用于自动化代…

## 23 使用BERT进行文本分类:PyTorch实战指南

文章目录 前言理解BERTPyTorch环境搭建数据准备模型建立训练模型模型评估与应用结论 前言 文本分类是自然语言处理&#xff08;NLP&#xff09;领域的一项基本任务&#xff0c;它的目的是将一个文本序列指派到一个或多个类别中。这项技术被广泛应用于垃圾邮件检测、情感分析、…

月薪20K+的策划人简历应该怎么写?

一般咱们大多数策划在写简历前&#xff0c;都是先直接找模板&#xff0c;然后按照模板的框架直接往里面填内容。 最后草草收场&#xff0c;直接拿去海投简历&#xff0c;结果发现没有拿到任何面试邀约。 策划写简历前的第一件事要梳理自己的能力模型和岗位JD。 因为只有先梳…

做DFMEA最难点,功能分析如何做?——FMEA软件

​免费试用FMEA软件-免费版-SunFMEADFMEA&#xff0c;即设计失效模式与影响分析&#xff0c;是一种在产品设计阶段就预见并预防潜在失效模式的重要工具。然而&#xff0c;在DFMEA的众多步骤中&#xff0c;功能分析无疑是其中的一大难点。它要求我们深入理解产品的各个系统、部件…

Excel 计算多个日期区间的交集中的工作日数

Excel表格有多对起止时间形成了区间组&#xff0c;如B3:C3共12组时间区间 ABCDEF12Ramadan StartsRamadan Ends323-Apr-2022-May-20Date11-Apr-24412-Apr-2111-May-21Date212-Apr-2452-Apr-221-May-22Expected6622-Mar-2320-Apr-23Caculated710-Mar-248-Apr-24828-Feb-2529-Ma…

ArcGIS arcpy代码工具——关于标识码的那些事(查找最大标识码、唯一性检查、重排序、空值赋值)

系列文章目录 ArcGIS arcpy代码工具——批量对MXD文件的页面布局设置修改 ArcGIS arcpy代码工具——数据驱动工具批量导出MXD文档并同步导出图片 ArcGIS arcpy代码工具——将要素属性表字段及要素截图插入word模板 ArcGIS arcpy代码工具——定制属性表字段输出表格 ArcGIS arc…

碳纳米管须状触嗅觉多模态融合传感器在皮革奢侈品真伪鉴定下的设计探索

一、设计方案 1.传感器选择 触觉传感器&#xff1a;选择基于碳纳米管&#xff08;CNT&#xff09;聚合物的柔性MEMS触觉微传感器&#xff0c;由于碳纳米管具有高度的灵敏度和选择性、柔韧性&#xff0c;可以作为触觉传感器&#xff0c;检测材料的微观结构和机械特性。嗅觉传感…

防火墙组网

防火墙的职责 控制和防护——在安全策略上即可体现&#xff0c;防火墙可以根据安全策略来抓取流量&#xff0c;之后做出对应的动作。吞吐量表示防火墙同一时间处理的数据量。传统防火墙(包过滤防火墙)&#xff0c;相当于一个严格的规则表&#xff0c;和ACL&#xff08;访问控制…

vue3 ElementUI 日期禁选当日前, 当日后,3天后

今日之前禁用 代码: ( 主要是 :disabledDate“disabledDateFun” ) <el-date-picker v-model"queryForm.selectedDate"type"date"range-separator"-"placeholder"选择日期":disabledDate"disabledDateFun" clearable /&…

性能测试工具—jmeter的基础使用

1.Jmeter三个重要组件 1.1线程组的介绍&#xff1a; 特点&#xff1a; 模拟用户&#xff0c;支持多用户操作多个线程组可以串行执行&#xff0c;也可以并行执行 线程组的分类&#xff1a; setup线程组&#xff1a;前置处理&#xff0c;初始化普通线程组&#xff1a;编写…

echers配置项:数据过多时,折叠数据缩放查看

当数据过多时&#xff0c;如上图所示的时间点&#xff0c;会自动折叠&#xff0c;此时鼠标缩放还不起作用&#xff0c;我们配置如下代码 let option {dataZoom: [{startValue: 05:00}, // 这个值需要跟 第一条 时间数据对应上{type: inside}], }配置后&#xff0c;就可以进行…

6个黑科技网站,用过才知真的好!

AI视频生成&#xff1a;小说文案智能分镜智能识别角色和场景批量Ai绘图自动配音添加音乐一键合成视频https://aitools.jurilu.com/ 迅捷画图 网址&#xff1a;weavesilk.com/ 这个网站虽然不怎么好玩&#xff0c;但确实是一个很好用的思维导图和流程图在线制作网站&#xff0…

哪款桌面便签app能帮助我提升工作效率

作为上班族&#xff0c;我们每天都要处理大量的工作事项&#xff0c;从策划方案到处理邮件&#xff0c;每一个环节都需高效且有条不紊。在这样的工作环境下&#xff0c;提升效率显得尤为重要。而选择一款优秀的桌面便签app&#xff0c;无疑是提高工作效率的关键。 桌面便签app…

对话YashanDB CTO陈志标:如何推动国产数据库长远发展

深圳计算科学研究院&#xff08;以下简称“深算院”&#xff09;是深圳市人民政府2018年11月批准建设的“十大基础研究机构”之一&#xff0c;由深圳市科技创新委员会主管、深圳大学举办、深圳市龙华区人民政府共建的二类事业法人单位。 崖山数据库系统YashanDB是深算院完全自主…

[论文笔记]Corrective Retrieval Augmented Generation

引言 今天带来论文Corrective Retrieval Augmented Generation的笔记&#xff0c;这是一篇优化RAG的工作。 大型语言模型(LLMs) inevitable(不可避免)会出现幻觉&#xff0c;因为生成的文本的准确性不能仅仅由其参数化知识来确保。尽管检索增强生成(RAG)是LLMs的一个可行补充…

好易点 | 上海厨卫展首秀人气爆棚,智能阳台备受瞩目

2024年5月14日&#xff0c;第28届中国国际厨房、卫浴设施展览会&#xff08;简称&#xff1a;上海厨卫展&#xff09;在上海盛大开幕。作为厨卫行业的年度盛事&#xff0c;本次展会不仅汇聚了众多国内外知名品牌&#xff0c;更成为了展示前沿五金厨卫臻品的重要平台。其中&…

基于51单片机的非接触式无线红外测温

基于51单片机的无线红外测温 &#xff08;程序&#xff0b;原理图&#xff0b;设计报告&#xff09; 功能介绍 具体功能&#xff1a; 1.采用红外温度传感器测温并用LCD1602显示&#xff1b; 2.按键为启动按键、保存按键、显示数据按键&#xff0c;可以实现对温度数值的控制…

vue3中实现简繁体转换

由于项目在大陆和台湾同胞同步使用&#xff0c;因此需要实现中文的简繁体转换&#xff0c;实现输入简体&#xff0c;能搜索出简体和繁体的相关内容&#xff0c;输入繁体&#xff0c;也能搜索出简繁体相关内容。忽略简繁体&#xff0c;扩大搜索范围。 引入插件&#xff1a; np…

第八篇 Asciidoc 输出 All In One HTML 解决图片无法显示问题

问题:我的图片显示不出来了 小明使用 Asciidoc 来记笔记,他将笔记输出为 HTML 文件。小丽向小明借笔记。小明将 Asciidoc 笔记输出为 HTML文件,并拷贝给了小丽。 但是,小丽发现,图片都显示不出来了。 小丽:小明,你给我的笔记,图片都显示不出来啊。 小明:是我给你的…

【数据结构】堆排序和Top-K问题(超详细)

文章目录 堆排序向上调整建堆向下调整建堆堆排序调整过程 Top-K问题 堆排序 排升序要建大堆&#xff0c;排降序要建小堆&#xff08;这里以排升序为例&#xff09; 排序思想&#xff1a; 1.首先将待排序的n个数建成大堆&#xff08;此时堆顶是n个数里最大的&#xff09;. 2.将…
最新文章