掌握NVM、NRM和NPM:Node.js开发的利器
**掌握NVM、NRM和NPM:Node.js开发的利器**
- 背景介绍:
- 如何使用NVM:
- 在Windows上安装NVM:
- 在macOS上安装NVM:
- 配置NVM:
- 常用NVM命令:
- 如何使用NRM:
- 安装NRM:
- 配置全局NRM:
- 常用NRM命令:
- 总结:
引言:
在Node.js开发领域,版本管理和包管理是不可或缺的。本文将介绍三个重要的工具:NVM、NRM和NPM,它们如何帮助开发者更好地管理Node.js环境和依赖包。
背景介绍:
当谈到Node.js、NVM(Node Version Manager)和NRM(Npm Registry Manager)时,这些是在Node.js开发中非常重要的工具和概念。以下是对它们的简要介绍:
Node.js:
Node.js是一个基于Chrome V8引擎的JavaScript运行时环境,用于构建服务器端和网络应用程序。它允许您使用JavaScript语言在服务器端编写高性能的应用程序,而不仅仅是在浏览器中执行JavaScript。Node.js具有非阻塞、事件驱动的特性,适用于构建高吞吐量的实时应用程序,如Web服务器、API服务器、聊天应用程序等。Node.js还有一个强大的包管理器NPM,用于管理依赖项和模块。
NVM(Node Version Manager):
NVM是一个用于管理Node.js版本的工具。它允许您在同一台计算机上同时安装多个Node.js版本,并且能够轻松切换这些版本以适应不同的项目需求。NVM在开发中尤其有用,因为不同的项目可能需要不同版本的Node.js来运行。通过NVM,您可以在项目之间自由切换Node.js版本,而无需重新安装或卸载。
NRM(Npm Registry Manager):
NRM是一个用于管理Npm镜像源的工具。Npm是Node.js的包管理器,用于安装、发布和管理JavaScript包。Npm的默认镜像源可能在某些地区或网络环境下访问较慢。NRM允许您轻松地切换Npm镜像源,以加速包的下载和安装。这对于加快Node.js项目的开发速度非常重要,特别是当您依赖大量第三方包时。
总结:
- Node.js是一个强大的JavaScript运行时环境,用于构建服务器端和网络应用程序。
- NVM是用于管理Node.js版本的工具,使开发者能够轻松切换不同版本的Node.js。
- NRM是用于管理Npm镜像源的工具,用于加速包的下载和安装。
这些工具在Node.js开发中起着关键作用,使开发者能够更有效地管理依赖和版本,提高开发效率。
如何使用NVM:
安装NVM:
在Windows和macOS上安装NVM(Node Version Manager)、配置NVM以及了解常用NVM命令是管理Node.js版本的重要步骤。以下是详细的说明:
在Windows上安装NVM:
-
首先,确保您的Windows操作系统已经安装了Node.js。如果没有,请从Node.js官方网站下载并安装Node.js。
-
打开浏览器,访问NVM-Windows的GitHub仓库。
-
在GitHub页面中,下载最新版本的NVM-Windows安装程序(nvm-setup.zip)。选择合适的版本根据您的系统架构(32位或64位)。
-
解压下载的ZIP文件,并运行
nvm-setup.exe
。 -
安装过程中,请遵循安装向导的提示完成安装。
-
安装完成后,打开命令提示符或PowerShell,并执行以下命令以验证NVM安装是否成功:
nvm version
在macOS上安装NVM:
-
打开终端(Terminal)。
-
使用curl来下载NVM安装脚本。输入以下命令:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
请注意,上述链接中的版本号可能会更改。您可以在官方GitHub仓库上找到最新的版本号。
-
安装脚本会下载并安装NVM。完成后,关闭并重新打开终端,或者输入以下命令以使NVM立即生效:
source ~/.bashrc
配置NVM:
无论您在Windows还是macOS上安装了NVM,配置过程基本相同。
-
检查NVM是否安装成功,以及有哪些Node.js版本可用:
nvm --version nvm ls-remote
-
选择一个Node.js版本安装,例如:
nvm install 14.17.6
-
设置默认Node.js版本:
nvm alias default 14.17.6
常用NVM命令:
以下是一些常用的NVM命令,无论您使用的是Windows还是macOS,这些命令都是通用的:
-
安装特定版本的Node.js:
nvm install <version>
-
切换到已安装的不同Node.js版本:
nvm use <version>
-
查看已安装的Node.js版本列表:
nvm ls
-
查看所有可用的Node.js版本:
nvm ls-remote
-
设置默认Node.js版本:
nvm alias default <version>
这些命令可以帮助您管理Node.js版本,根据项目需求轻松切换不同版本的Node.js。请根据您的操作系统和需要使用NVM。如果您需要更多帮助或有任何问题,请随时提问。
如何使用NRM:
在Windows和macOS上安装NRM(Npm Registry Manager)、配置全局NRM,并了解常用NRM命令是管理Npm镜像源的重要步骤。以下是详细的说明:
安装NRM:
-
打开终端(Terminal)或命令提示符(Command Prompt)。
-
使用npm全局安装NRM。在终端中输入以下命令:
npm install -g nrm
这将通过npm全局安装NRM。
配置全局NRM:
-
安装完成后,在终端中运行以下命令列出NRM支持的不同镜像源以及当前使用的镜像源:
nrm ls
-
选择一个Npm镜像源,比如官方源(npm),并将其设置为默认镜像源。运行以下命令:
nrm use npm
这将将Npm的默认镜像源设置为官方源。
常用NRM命令:
以下是一些常用的NRM命令,无论您使用的是Windows还是macOS,这些命令都是通用的:
-
列出所有可用的Npm镜像源:
nrm ls
-
切换到不同的Npm镜像源:
nrm use <registry-name>
例如,要切换到淘宝Npm镜像源,可以运行:
nrm use taobao
-
添加自定义的Npm镜像源:
nrm add <registry-name> <registry-url>
-
删除已存在的Npm镜像源:
nrm del <registry-name>
-
测试各个镜像源的响应时间:
nrm test
这些NRM命令可帮助您轻松切换不同的Npm镜像源,以满足项目需求或提高包的下载速度。
无论您使用的是Windows还是macOS,NRM都是一个有用的工具,可帮助您更有效地管理Npm镜像源。如果您需要更多帮助或有任何问题,请随时提问。
总结:
在Node.js开发中,NVM、NRM和NPM是不可或缺的工具,它们可以帮助您更轻松地管理版本和依赖关系。通过掌握这些工具,您将能够更高效地开发Node.js应用程序,并确保它们始终保持最新和稳定。
希望这篇博客对你有所帮助,如果你需要更详细的信息或有任何问题,请随时提问。
相关文章:
掌握NVM、NRM和NPM:Node.js开发的利器
**掌握NVM、NRM和NPM:Node.js开发的利器** 背景介绍:如何使用NVM:在Windows上安装NVM:在macOS上安装NVM:配置NVM:常用NVM命令: 如何使用NRM:安装NRM:配置全局NRM…...
Nacos 2.2.3 部署到linux
到https://github.com/alibaba/nacos/releases 下载编译后压缩包,如nacos-server-2.2.3.tar.gz这种,里面包含有nacos的jar包,不然启动不了 1.新建并初始化数据库 创建nacos数据库,执行mysql-schema.sql文件,这个文件…...
设计模式之十:状态模式
状态模式通过改变对象内部的状态来帮助对象控制自己的行为。 这是一张状态图,其中每个圆圈都是一个状态。 最简单,第一反应的实现就是使用一个变量来控制状态值,并在方法内书写条件代码来处理不同情况。 package headfirst.designpatterns.…...
Python 的运算符和语句(条件、循环、异常)基本使用指南
运算符的分类 算数运算符赋值运算符复合赋值运算符比较运算符逻辑运算符 算数运算符 运算符描述实例加1 1 输出结果为 2-减1 - 1 输出结果为 0*乘2 * 2 输出结果为 4/除10 / 2 输出结果为 5//整除9 // 4 输出结果为 2%取余9 % 4 输出结果为 1**指数2 ** 4 输出结果为 16&…...
文心一言 VS 讯飞星火 VS chatgpt (94)-- 算法导论9.2 3题
三、用go语言,给出 RANDOMIZED-SELECT的一个基于循环的版本。 文心一言: 在循环中实现 RANDOMIZED-SELECT 的一个版本可以如下所示。这个版本使用 Go 语言编写,利用随机化来选择一个元素,并在循环中不断地调整选择的元素&#x…...
React中组件通信01——props
React中组件通信01——props 1. 父传子——props1.1 简单例子——props1.2 props 可以传递任何数据1.2.1 传递数字、对象等1.2.2 传递函数1.2.3 传递模版jsx 2. 子传父 子传子——props2.1 父传子——传递函数2.2 子传父——通过父传子的函数实现2.3 优化 子传子(…...
接口测试——接口协议抓包分析与mock_L1
目录: 接口测试价值与体系常见的接口协议接口测试用例设计postman基础使用postman实战练习 1.接口测试价值与体系 接口测试概念 接口:不同的系统之间相互连接的部分,是一个传递数据的通道接口测试:检查数据的交换、传递和控制…...
四种常用的自动化测试框架
一直想仔细研究框架,写个流水账似的测试程序不难,写个低维护成本的测试框架就很难了,所以研究多种测试框架还是很有必要的,知道孰优孰劣,才能在开始编写框架的时候打好基础,今天读到了KiKi Zhao的翻译文章&…...
Fuxploider:一款针对文件上传漏洞的安全检测与研究工具
Fuxploider:一款针对文件上传漏洞的安全检测与研究工具 1.概述2. 工具使用1.概述 Fuxploider是一款功能强大的开源渗透测试工具,该工具专门针对文件上传漏洞而设计,可以帮助广大研究人员以自动化的方式检测和利用目标站点文件上传表单中的安全问题 由于该工具基于Python 3…...
Unity 安装及运行MLAgents
1、下载ML-Agents 下载地址 GitHub - Unity-Technologies/ml-agents: The Unity Machine Learning Agents Toolkit (ML-Agents) is an open-source project that enables games and simulations to serve as environments for training intelligent agents using deep reinfo…...
LightDB-A 兼容oracle支持mod操作符
LightDB-A 兼容oracle支持mod操作符 LightDB-A 为了兼容oracle,从23.3版本开始支持mod操作符,其语义同 ‘%’ 操作符,使用案例如下: select 5 mod 2;?column? ----------1 (1 row)select 0 % 0; ERROR: division by zerosel…...
SpringMVC之自定义注解
目录 一、Java注解 1.1 注解简介 1.2 注解分类 1.3 JDK基本注解 1.4 JDK元注解 1.5 自定义注解 1.5.1 标记注解 1.5.2 元数据注解 1.6 如何自定义注解 二、自定义注解的基本案例 2.1 案例一(获取类、方法以及属性上的注解) 2.1.1 Ingerited的…...
QT:使用普通按钮、网格布局管理器、标签、行编辑器、水平布局管理器、垂直布局管理器做一个小项目
widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QPushButton> //普通按钮 #include <QGridLayout> //网格布局管理器 #include <QLabel> //标签 #include <QLineEdit> //行编辑器 #include <QHBoxLayo…...
【小沐学写作】程序员必备技能:在线协作文档汇总
文章目录 1、简介2、微软Office在线文档2.1 功能简介2.2 使用费用2.3 用户体验 3、石墨文档3.1 功能简介3.2 使用费用 4、腾讯文档4.1 功能简介4.2 使用费用 5、语雀5.1 功能简介5.2 使用费用 6、飞书6.1 功能简介6.2 使用费用 7、印象笔记7.1 功能简介7.2 使用费用 结语 1、简…...
「工具|数据接口」免费公开的REST API 如何借助github搭建自己的fake API接口
本文主要介绍日常开发、测试、教学或者分享中,可能遇到的模拟数据问题。分享免费开发的测试数据接口,以及如何利用github快速搭建定制化的接口数据,避免使用真实数据的风险以及自己现编数据的麻烦。 文章目录 一、场景说明二、免费公开的Fak…...
leetcode 18. 四数之和
给你一个由 n 个整数组成的数组 nums ,和一个目标值 target 。请你找出并返回满足下述全部条件且不重复的四元组 [nums[a], nums[b], nums[c], nums[d]] (若两个四元组元素一一对应,则认为两个四元组重复): 0 < a,…...
树上背包问题动态规划
目录 树状动态规划概述 示例 求解思路 树状动态规划概述 树状动态规划(Tree DP)是一种在树结构上进行动态规划的方法。在树状DP中,我们利用树的特殊结构性质,通过递归地向下更新子节点的状态,最终得到整个树的最…...
linux查看进程对应的线程(数)
首先,top或ps查看进程列表,确定要查看的进程pid,如下面40698 查看进程的线程情况 查看进程:top -p 40698 查看线程:top -p 40698 -d 3 -H 其中-d是刷新频率 可看到此进程共211个线程,运行中的是211个。…...
Python中的桌面应用开发库有哪些?
Python中有几个受欢迎的桌面应用开发库。以下是其中一些: Tkinter:这是Python的标准GUI库,它提供了构建简单的桌面应用程序的基本组件和功能。 PyQt:这是一个成熟的、功能强大的跨平台图形用户界面框架,它是Python绑定…...
【大数据】Neo4j 图数据库使用详解
目录 一、图数据库介绍 1.1 什么是图数据库 1.2 为什么需要图数据库 1.3 图数据库应用领域 二、图数据库Neo4j简介 2.1 Neo4j特性 2.2 Neo4j优点 三、Neo4j数据模型 3.1 图论基础 3.2 属性图模型 3.3 Neo4j的构建元素 3.3.1 节点 3.3.2 属性 3.3.3 关系 3.3.4 标…...
Windows11系统C盘用户文件夹下用户文件夹为中文,解决方案
说明: 1. 博主电脑为Windows11操作系统,亲测有效,修改后无任何影响,软件都可以正常运行! 2. Windows10系统还不知道可不可行,因为Windows11的计算机管理中没有本地用户和组,博主在csdn上看到很…...
Python正则表达式(re)
正则表达式,又称规则表达式,(Regular Expression,在代码中常简写为regex、regexp或RE),是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为…...
【PyTorch 08】如果要手动安装对应的包
例如有时候我们要下载 PyG ,但是需要手动下载,需要进行以下步骤: 网站链接:https://data.pyg.org/whl/ 首先查看当前安装好的Pytorch版本和对应的cuda版本 1. pip list:查看torch版本 2. torch.version.cuda…...
黑马JVM总结(十二)
(1)五种引用_强软弱 实线箭头表示强引用,虚心线表示软弱虚终结器引用 在平时我们用的引用,基本都为强引用 ,比如说创建一个对象通过运算符赋值给了一个变量,那么这个变量呢就强引用了刚刚的对象 强引用的…...
彻底搞懂线程池原理以及创建方式
1. 为什么要使用线程池 在实际使用中,线程是很占用系统资源的,如果对线程管理不善很容易导致系统问题。因此,在大多数并发框架中都会使用线程池来管理线程,使用线程池管理线程主要有如下好处: 降低资源消耗。通过复用…...
FreeSWITCH 1.10.10 简单图形化界面9 - 鼎兴FXO网关SIP中继内网IPPBX落地
FreeSWITCH 1.10.10 简单图形化界面9 - 鼎兴FXO网关SIP中继内网IPPBX落地 0、 界面预览1、创建一个话务台2、创建PBX SIP中继并设置呼入权限3、设置呼出规则4、设置分机呼出权限5、设置FXO 网关相关信息6、设置FXO网关端口组呼入号码7、设置FXO网关的SIP中继8、设置FXO网关呼叫…...
Oracle数据如何迁移导入到MySQL
使用Navicat工具建立数据连接,进行数据传输 1、打开Navicat工具,分别连接Oracle数据库和MySQL数据库。 2、连接源选择你的oracle数据,目标选mysql 即可成功导入...
卡尔曼滤波(Kalman Filter)原理浅析-数学理论推导-1
目录 前言数学理论推导1. 递归算法2. 数学基础结语参考 前言 最近项目需求涉及到目标跟踪部分,准备从 DeepSORT 多目标跟踪算法入手。DeepSORT 中涉及的内容有点多,以前也就对其进行了简单的了解,但是真正去做发现总是存在这样或者那样的困惑…...
Linux 文件创建、查看
touch、cat、more命令 ①touch命令——创建文件 ②cat命令——查看文件内容全部显示 这是txt.txt文件内容 使用cat命令查看 ③more命令——查看文件内容支持翻页 在查看的过程中,通过空格翻页,通过q退出查看...
WPF 如何让xmal的属性换行显示 格式化
WPF 如何让UI的xmal 按照下面的格式化显示 首先格式化显示在VS中的快捷键是 Ctrl KD 然后需要配置,工具 选项 -文本编辑器 -xmal -格式化-间距 更改成如下就可以了...
政府门户网站建设管理/下载百度软件
1、吞吐率 简单的说吞吐率就是指在一指定时间内由一处传输到另一处或被处理的数据量。以太网吞吐率的单位为"兆比特每秒"或"Mb/s"。...
广州做网站好的公司/网络营销师资格证
CSS布局实例:上中下三行布局,上下定高,中间栏自适应浏览器高度,且内容垂直居中。本文代码在firefox 2.0 / winie 6/ win ie 7 /opera 8.5 cn/win safari测试通过。对于非ie内核浏览器,通过设定display:table、display:table-row和…...
网站开发毕业设计代做/免费搭建网站平台
主要参考以下文章mysql5.8 主从复制(一主一从)环境搭建www.jianshu.com碰到一些坑,先贴上主从my.inf配置主:从:坑点1:5.8以后从服务器连不上主服务器,默认为SSL插件连接,解决办法参…...
日本网站欣赏/宁海关键词优化怎么优化
一、需求:有这么一张表前四个属性当作联合主键需要把该表所有的行在前端以表格形式显示出来,要求activityId相同时合并成一行,activityCode相同时,合并一行,activityVersion相同时也合并一行。类似这种:二、…...
网站开发平台/seo优化排名软件
用pycharm写python的时候,总会在def function()的那行出现如上问题。 “PEP 8: expected 2 blank lines, found 1” 具体原因就是呢,在声明函数的那一行的上方必须有两行的空行,否则便出现这个情况。 函数的注释可随函数为一体 # coding: u…...
怎么把自己的网站放到百度搜索上/百度关键词seo排名
在移动端,click事件有延迟,延迟主要是判断当前是滑动还是点击,延迟时间大约有300ms为了提升用户体验,tap事件可以降低延迟的时间...