当前位置: 首页 > news >正文

清晰地说明 NVM、NPM 和 NRM 在 Node.js 开发过程中的作用

在开发过程中,NPM NVM NRM 这三者分别负责不同层面的管理工作,协同作用让 Node.js 开发更顺畅。我们可以用一个形象的比喻来理解:

  • NVM:好比是你电脑上的 Node.js 版本切换器
  • NPM:是你项目里的 项目管家/仓库管理员
  • NRM:是帮你为管家 选择最快送货路线的调度员

下面进行详细解释:


1. NVM (Node Version Manager) - 管理 Node.js 本身

核心作用:管理多个 Node.js 版本,实现轻松切换。

  • 解决的问题:不同的项目可能基于不同版本的 Node.js 开发。如果直接安装,电脑上只能存在一个版本,会导致一些老项目无法运行。NVM 解决了这个矛盾。
  • 具体功能
    • 安装:可以同时安装多个版本的 Node.js(如 v14.17.6, v16.20.2, v18.17.0)。
    • 切换:可以根据项目需求,快速切换到指定的 Node.js 版本 (nvm use 16.20.2)。
    • 设置默认版本:可以指定一个版本作为默认版本 (nvm alias default 18.17.0)。
  • 使用场景:当你需要维护或开发多个不同时期、使用不同 Node.js 版本的项目时,NVM 是必不可少的工具。

常用命令示例:

# 安装指定版本的 Node.js
nvm install 18.17.0# 查看已安装的所有版本
nvm ls# 切换到某个版本
nvm use 16.20.2# 设置默认版本
nvm alias default 18.17.0

2. NPM (Node Package Manager) - 管理项目依赖(第三方代码包)

核心作用:是 Node.js 官方自带的包管理器,用于管理项目的依赖库。

  • 解决的问题:现代软件开发高度依赖第三方库(如 Express、React、Vue 等)。手动下载和管理这些库极其繁琐。NPM 自动化了这个过程。
  • 具体功能
    • 安装包:从 NPM 官方仓库下载并安装你需要的包到当前项目 (npm install express)。
    • 管理依赖:通过 package.json 文件记录项目所依赖的所有包及其版本。
    • 发布包:你也可以将自己编写的工具包发布到 NPM 仓库,供他人使用。
    • 运行脚本:可以定义和运行项目脚本,如启动服务器、运行测试等 (npm start, npm test)。
  • 使用场景:在任何一个 Node.js 项目中,你都会使用 NPM 来安装和管理项目所需的第三方模块。它是 Node.js 开发的基石。

常用命令示例:

# 初始化一个新项目,生成 package.json 文件
npm init -y# 安装一个包(如 express)并保存到依赖列表中
npm install express --save# 安装一个只在开发阶段需要的包(如测试工具)
npm install jest --save-dev# 根据 package.json 安装所有依赖
npm install

3. NRM (Npm Registry Manager) - 管理 NPM 的下载源(镜像)

核心作用:管理和快速切换 NPM 的镜像源,解决下载速度慢的问题。

  • 解决的问题:NPM 的默认仓库服务器在国外,在国内直接下载速度可能很慢甚至失败。NRM 帮助我们切换到国内的镜像源(如淘宝 NPM 镜像),极大提升下载速度。
  • 具体功能
    • 列出可用源:显示所有可用的镜像源地址 (nrm ls)。
    • 切换源:快速切换到指定的镜像源 (nrm use taobao)。
    • 测速:测试各个镜像源的响应速度,帮助你选择最快的 (nrm test)。
  • 使用场景:主要在中国大陆等网络访问国外源较慢的地区使用。切换后,你使用的仍然是 NPM 命令,但下载地址变成了国内镜像,速度飞快。

常用命令示例:

# 列出所有可用的镜像源,带 * 的是当前使用的源
nrm ls# 切换到淘宝镜像源
nrm use taobao# 测试所有源的响应速度
nrm test

总结与关系

工具管理对象作用类比
NVMNode.js 运行时环境管理多个 Node.js 版本,方便切换版本切换器
NPM项目依赖包(第三方库)项目的包管理,安装、更新、删除依赖项目管家
NRMNPM 的下载地址(源)管理下载源,解决网络慢问题,服务于 NPM调度员/加速器

它们如何协同工作?

一个典型的开发流程是:

  1. 使用 NVM 安装并切换到项目所需的 Node.js 版本。
  2. 使用 NRM 将 NPM 的下载源切换到最快的国内镜像(可选,但强烈推荐)。
  3. 在项目目录中,使用 NPM 命令来安装和管理项目所需的各类依赖包。
http://www.dtcms.com/a/577943.html

相关文章:

  • Java IDEA学习之路:第七、八周课程笔记归纳
  • Vue2 首屏加载慢打包优化的详细记录
  • 【AI应用探索】-LLaMA-Factory微调模型
  • 最有效的网站推广方案企业网站管理系统怎么用
  • linux系统如何做网站小程序会员系统怎么做
  • 网站建设费用福州建设工程招投标信息网
  • 使用 llama.cpp 在本地高效运行大语言模型,支持 Docker 一键启动,兼容CPU与GPU
  • MTPA-最大转矩电流比控制解析
  • 【BUG调查日记】用于压测的机器人进程内存压不住且脱离分配器的管理
  • wordpress 招聘类网站郑州网站制作工作室
  • php可以做视频网站吗搜索网站怎么做
  • 什么是3D贴纸SDK?
  • Kafka系列之:生产环境替换kafka集群机器详细方案
  • 颠覆知识工作流:谷歌NotebookLM的“疯狂”用法与深度洞察
  • 基于LLM+SearxNG的实时网络搜索agent
  • FPC回流焊治具过炉托盘核心作用及设计要点
  • 移动云网站建设钓鱼网站图片
  • C++笔记——STL list
  • 前端技术方案博客文档汇总
  • 校园跑腿配送系统搭建:从0到1的完整解决方案
  • 蓝牙钥匙 第52次 深入解析安全启动与可信执行环境:从硬件根基到系统安全
  • Docker 自动化管理脚本大全
  • LangFlow 源码分析:Trace 追踪机制核心问题与解决方案
  • SpringBoot+Vue3全栈开发笔记后端部分
  • 网站服务器模式温江 网站建设
  • it人必看的网站网站开发招聘年薪
  • 安卓基础之《(1)—简介》
  • 面试题剖析:android全局触摸事件的前世与今生InputMonitor/SpyWindow
  • 【HarmonyOS-北向开发(软件)】
  • 20251106给荣品RD-RK3588-MID开发板跑Rockchip的原厂Android13系统时禁止锁屏+永不休眠