nvm 和 nrm安装使用

前端工具推荐:nvm(Node 版本管理工具) 和 nrm(管理npm源):

一、nvm

1.1 nvm 是什么

1.2 安装 nvm

1.3 使用 nvm

二、nrm

2.1 nrm 是什么

2.2 安装 nrm

2.3 使用 nrm


一、nvm

        如果直接将 node 安装到电脑上,通常只能安装某个特定的版本,如 v18.12.1。而某些老项目可能只支持老版本的 node,如 v14.19.3。这时候怎么办呢?先卸载当前版本、再安装需要使用的版本,当需要使用新版本时又重新安装 ?不必这么麻烦,nvm 可以替咱解决这个问题。

1.1 nvm 是什么

        nvm:Node Version Manager,Node 版本管理工具。可以很方便的安装、切换 Node JS 的版本。它可以方便地在一个系统中安装和管理多个node.js版本。这个工具可以快速切换不同版本的node.js,在不影响其他应用程序的情况下轻松测试代码。

该项目在 github 上 68k stars

以下是nvm的主要特点:

  1. 支持多平台,包括Linux、macOS和Windows操作系统。

  2. 支持安装和管理多个node.js版本,可以在不同版本之间切换。

  3. 管理全局npm包,可以在不同版本之间共享npm包。

  4. 支持自定义node.js安装和源代码编译选项。

  5. 实现简单,使用方便,通过简单的命令就可以完成安装、卸载和切换node.js版本。

1.2 安装 nvm

1、windows:可从 github 下载,下载地址:Release 1.1.10 · coreybutler/nvm-windows · GitHub

2、Mac:在官方 Github 页面上获取最新版本的安装命令,Github 地址:GitHub - nvm-sh/nvm: Node Version Manager - POSIX-compliant bash script to manage multiple active node.js versions

当前最新的安装命令为:


curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash或wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash

安装完成后,查看 nvm 版本:

nvm --version

如果版本号正确显示,则安装成功。

如果安装失败,可以尝试彻底删除之前在电脑上已经安装的 node 和 npm:

# 删除全局 node_modules 目录
sudo rm -rf /usr/local/lib/node_modules# 删除 node
sudo rm /usr/local/bin/node# 删除全局 node 模块注册的软链
cd /usr/local/bin && ls -l | grep "../lib/node_modules/" | awk '{print $9}'| xargs rm

1.3 使用 nvm

1.查看当前的 Node 版本:

nvm current

2.查看所有 Node 版本:

nvm ls

3.查看官方所有可安装的 Node 版本

nvm ls-remote

4.安装指定的 Node 版本:

nvm install v16.20.0

   支持模糊安装,如:

nvm install 14

5.删除已安装 Node 版本:

nvm uninstall v14.21.3或nvm uninstall 14

6.切换 Node 版本:

nvm use v16.18.1
或
​​​​​​​nvm use 16

上述为常用命令。此外还有一些不常用、但可能会用到的命令:

1.在当前的 Node 版本下,重新全局安装指定版本号的 npm 包。

nvm reinstall-packages <version>

2.给不同版本的 Node 添加别名

nvm alias <name> <version>

3.删除定义的别名

nvm unalis <name>

nvm还支持其他的命令,可以通过nvm --help来查看使用帮助。总之,nvm是一个非常实用的工具,对于开发者来说非常值得尝试。

二、nrm

前面介绍的 nvm 可以用来切换 Node 的版本。在开发中,除了 Node 版本可能会切换,npm 源也可能会切换,如默认的 npm 源、淘宝源等,手动切换每次都需要输入:

npm config set registry https://mirrors.cloud.tencent.com/npm/

命令虽然简单,但地址每次都得到处搜索。使用 nrm 便可以方便的管理各个源。

2.1 nrm 是什么

nrm:NPM Registry Manager,npm 注册中心管理,即 npm 源管理工具,使用它可以快速切换npm源。

2.2 安装 nrm

使用 npm 全局安装 nrm:

npm install -g nrm

安装完成后,查看版本号:

nrm --version

正确显示版本号,则安装没问题。

2.3 使用 nrm

1.查看源列表

nrm ls

2.切换源

nrm use <源名称>
如:nrm use tencent

3.添加新的源

nrm add <源名称> <源地址>
如:nrm add local http://localhost:7001/

4.删除源

nrm del <源名称>
如:nrm del local

5.源测速

# 测试所有源nrm test
# 测试指定的源nrm test <源名称>
如:nrm test yarn

6.查看当前的源

nrm current

如果没有显示结果,那就用原始的命令查看:

npm config get registry

*本文到此结束,假如对你有所启发,希望点“赞”和“收藏”,多谢鼓励!*

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

常见面试题之线程中并发锁(一)

1. 讲一下synchronized关键字的底层原理&#xff1f; 1.1. 基本使用 如下抢票的代码&#xff0c;如果不加锁&#xff0c;就会出现超卖或者一张票卖给多个人 Synchronized【对象锁】采用互斥的方式让同一时刻至多只有一个线程能持有【对象锁】&#xff0c;其它线程再想获取这…

Midjourney教程古风人像类

古风图像的特点&#xff1a; 人物发型多为飘逸的长发&#xff0c;或是精致的盘发&#xff1b; 人物服装多为飘逸的长袍、长裙&#xff1b; 整体画风以水墨、水彩、工笔为c主&#xff0c;线条写意&#xff0c;色彩清新淡雅&#xff1b; 背景中多用花鸟、亭台楼阁、桃林等构建氛…

INDEMIND双目视觉惯性模组实时生成点云并保存点云图

双目惯性相机最开始是从VINS中了解到的&#xff0c;2018年VINS中推荐过Loitor视觉惯性相机&#xff0c;但是后来看到GitHub Issue中有人反映Loitor丢帧、无技术支持等问题&#xff0c;加之购入渠道非官方故未入手Loitor&#xff0c;浏览知乎时关注到Indemind的该款产品&#xf…

FreeRTOS—任务基础知识

文章目录 一、FreeRTOS任务特性二、FreeRTOS任务状态三、FreeRTOS任务优先级四、FreeRTOS任务实现五、任务控制块六、任务堆栈 一、FreeRTOS任务特性 简单没有使用限制&#xff08;任务数量没有显示&#xff0c;一个优先级下可以有多个任务&#xff09;支持抢占&#xff08;高…

C语言结构体字节对齐(内存对齐)之#pragma pack和__attribute__((packed)的使用

在不使用#pragma pack和__attribute__((packed) 等选项来自定义字节对齐大小的情况下&#xff0c;关于正常字节对齐的描述&#xff0c;可参考博文&#xff1a; C/C计算类/结构体和联合体&#xff08;union&#xff09;所占内存大小&#xff08;内存对齐问题&#xff09;_联合体…

通付盾发布WAAP白皮书,帮助企业应对数字化转型过程中日益高发的网络安全威胁

简介 企业数字化转型是数字经济发展的重要一环。面对企业数字化转型过程中的安全问题&#xff0c;WAAP白皮书将对攻击方式、攻击量、攻击来源、行业分布等维度对各类攻击进行详细解读&#xff0c;梳理传统Web应用防护能力的不足&#xff0c;分析日益增长的API防护&#xff0c;…

H5学习(三)-- CSS层叠样式表

文章目录 一、简介二、CSS的书写样式1. 行内样式&#xff08;内联样式&#xff09;2. 页内样式3. 外部样式 三、常见的选择器1. 标签选择器2. 类选择器3. id选择器4. 并列选择器5. 复合选择器6. 伪类选择器 一、简介 CSS&#xff08;cascading style sheet&#xff09;是层叠样…

奇舞周刊第497期:解锁 PDF 文件:使用 JavaScript 和 Canvas 渲染 PDF 内容

记得点击文章末尾的“ 阅读原文 ”查看哟~ 下面先一起看下本期周刊 摘要 吧~ 奇舞推荐 ■ ■ ■ 解锁 PDF 文件&#xff1a;使用 JavaScript 和 Canvas 渲染 PDF 内容 最近研究了 Web 的 FileSystemAccess Api&#xff0c;它弥补了 Web 长期以来缺少的能力&#xff1a;操作用户…

QT Creator上位机画波形之Qcharts使用学习

先看一个Qcharts的简单demo Qcharts是QT自带的组件&#xff0c;不需要另外添加文件。 打开QT Creator&#xff0c;新建一个工程&#xff0c;命名可以参考下图&#xff1a; 基类选择QWidget&#xff1a; .pro文件中添加charts模块 main.cpp源码&#xff1a; #include "…

蓝牙音频数据歌词提取器设计方法

v hezkz17进数字音频系统研究开发交流答疑 解决方法&#xff1a; 通过蓝牙接收来自手机音乐播放器的数据&#xff0c;能得到哪些歌曲信息? 如何获取歌曲名&#xff1f;歌词信息&#xff1f; 2023/6/27 10:21:42 通过蓝牙接收手机音乐播放器的数据&#xff0c;可以获取以下歌曲…

JMeter请求头添加删除方法(解决请求头类型冲突)

JMeter请求头添加删除方法&#xff08;解决请求头类型冲突&#xff09; 1. 为什么会有冲突 请求头的Content-Type类型在做上传和请求图片地址是&#xff0c;请求头类型是不一样的 请求图片地址&#xff1a;Content-Type: image/jpeg 一般的Restful接口&#xff1a;Content-Ty…

stm32 + w25qxx + EasyFlash

一&#xff0c;软件介绍 EasyFlash 是一款开源的轻量级嵌入式Flash存储器库&#xff0c;方便实现基于Flash存储器的常见应用开发。适合智能家居、可穿戴、工控、医疗等需要断电存储功能的产品&#xff0c;资源占用低&#xff0c;支持各种 MCU 片上存储器。 [1] 该库目前提供…