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

NVM的安装与配置

目录

    • 一、简介
    • 二、下载
      • 2.1、windows环境下载地址
      • 2.2、安装
    • 三、配置
      • 3.1、查看可安装版本
      • 3.2、安装版本
      • 3.3、使用和切换版本
      • 3.4、模块配置
    • 四、其他
      • 4.1、全局安装pnpm
      • 4.2、常用nvm命令

一、简介

  NVM,全称为Node Version Manager,是一个流行的命令行工具,用于在同一台计算机上安装和管理多个版本的Node.js。Node.js是一个基于Chrome V8引擎的JavaScript运行时环境,它允许开发者在服务器端运行JavaScript代码,从而构建更为动态和交互性强的Web应用程序。

  NVM通过提供一种简单的方法来切换不同版本的Node.js,极大地简化了Node.js开发环境的管理。它使得开发者能够测试他们的应用程序在不同版本的Node.js上的表现,确保跨版本的兼容性,同时也能够利用新版本Node.js提供的特性和改进。

  使用NVM,开发者可以通过简单的命令来安装、切换和卸载Node.js的不同版本。NVM支持Linux、macOS和Windows操作系统,因此无论开发者使用的是哪种操作系统,都可以利用NVM来管理他们的Node.js环境。

NVM的主要特点包括:

  1. 多版本支持:NVM允许在同一台机器上安装多个版本的Node.js,并轻松切换使用。

  2. 易于安装:NVM的安装过程简单,通常只需要下载一个脚本并执行即可。

  3. 跨平台:NVM可以在多种操作系统上运行,包括Linux、macOS和Windows。

  4. 自动更新:NVM可以配置为自动更新,以确保总是使用Node.js的最新版本。

  5. 环境隔离:每个使用NVM创建的Node.js环境都是独立的,这意味着不同项目可以使用不同版本的Node.js,而不会相互干扰。

  6. 社区支持:NVM由一个活跃的开发者社区支持,提供帮助和最佳实践。

  7. 版本管理:NVM提供了一种清晰的版本管理方式,使得开发者可以轻松地选择特定版本的Node.js来运行他们的项目。

  通过使用NVM,开发者可以更加灵活地管理他们的Node.js环境,从而提高开发效率和项目质量。

二、下载

2.1、windows环境下载地址

https://github.com/coreybutler/nvm-windows/releases/tag/1.1.12

在这里插入图片描述

2.2、安装

在这里插入图片描述

在这里插入图片描述

  没有这个路径的就创建一个文件夹nodejs,比如你没有nodejs这个文件夹,你要主动去创建一个。不然你后面使用命令

nvm use 版本号

  就相当于没效果,就出现使用node,npm命令不是内部命令的问题;这个路径就是你使用版本时,nvm复制了一份node的版本到这个路径,如果路径不存在,肯定就提示命令不对了咯。

  很多人本地之前就安装了nodejs,不想卸载,这里就选择了安装了nodejs的目录,也是没问题的。但是我觉得你大可不必。因为你安装完nvm就知道nodejs的安装是多么的简单了,我建议你就记录下你之前安装的版本,先卸载之前安装的nodejs,后面通过nvm去安装即可。

三、配置

3.1、查看可安装版本

  安装完之后我们可以执行下面的命令,查看可以安装的nodejs的版本。

nvm list available

运行结果:

C:\Users\admin>nvm list available|   CURRENT    |     LTS      |  OLD STABLE  | OLD UNSTABLE |
|--------------|--------------|--------------|--------------|
|    21.7.2    |   20.12.1    |   0.12.18    |   0.11.16    |
|    21.7.1    |   20.12.0    |   0.12.17    |   0.11.15    |
|    21.7.0    |   20.11.1    |   0.12.16    |   0.11.14    |
|    21.6.2    |   20.11.0    |   0.12.15    |   0.11.13    |
|    21.6.1    |   20.10.0    |   0.12.14    |   0.11.12    |
|    21.6.0    |    20.9.0    |   0.12.13    |   0.11.11    |
|    21.5.0    |   18.20.1    |   0.12.12    |   0.11.10    |
|    21.4.0    |   18.20.0    |   0.12.11    |    0.11.9    |
|    21.3.0    |   18.19.1    |   0.12.10    |    0.11.8    |
|    21.2.0    |   18.19.0    |    0.12.9    |    0.11.7    |
|    21.1.0    |   18.18.2    |    0.12.8    |    0.11.6    |
|    21.0.0    |   18.18.1    |    0.12.7    |    0.11.5    |
|    20.8.1    |   18.18.0    |    0.12.6    |    0.11.4    |
|    20.8.0    |   18.17.1    |    0.12.5    |    0.11.3    |
|    20.7.0    |   18.17.0    |    0.12.4    |    0.11.2    |
|    20.6.1    |   18.16.1    |    0.12.3    |    0.11.1    |
|    20.6.0    |   18.16.0    |    0.12.2    |    0.11.0    |
|    20.5.1    |   18.15.0    |    0.12.1    |    0.9.12    |
|    20.5.0    |   18.14.2    |    0.12.0    |    0.9.11    |
|    20.4.0    |   18.14.1    |   0.10.48    |    0.9.10    |

3.2、安装版本

  安装版本很简单,通过下面的命令即可:

#这个版本号就是上面查的版本号,或者是以前的历史存在的版本号都可以
nvm install 版本号

安装nodejs的16.14.2版本

C:\Users\admin>nvm install 16.14.2
Downloading node.js version 16.14.2 (64-bit)...
Extracting node and npm...
Complete
npm v8.5.0 installed successfully.Installation complete. If you want to use this version, type

安装nodejs的20.12.1版本

C:\Users\admin>nvm install 20.12.1
Downloading node.js version 20.12.1 (64-bit)...
Extracting node and npm...
Complete
npm v10.5.0 installed successfully.Installation complete. If you want to use this version, type

接下来可以查看本机安装的nodejs版本

nvm list

运行结果:

C:\Users\admin>nvm list20.12.116.14.2

3.3、使用和切换版本

  使用版本很简单就是执行下面的命令

#这里的版本号就是你安装的版本号
nvm use 版本号

比如我们要使用nodejs的16.14.2版本

C:\Users\admin>nvm use 16.14.2
Now using node v16.14.2 (64-bit)C:\Users\admin>nvm list20.12.1* 16.14.2 (Currently using 64-bit executable)C:\Users\admin>node -v
v16.14.2C:\Users\admin>npm -v
8.5.0

比如我们要切换nodejs的20.12.1版本

C:\Users\admin>nvm use 20.12.1
Now using node v20.12.1 (64-bit)C:\Users\admin>nvm list* 20.12.1 (Currently using 64-bit executable)16.14.2C:\Users\admin>node -v
v20.12.1C:\Users\admin>npm -v
10.5.0

是不是很方便?要出现那个*号才行,没有出现,一般就是你前面的路径没有(比如没有创建nodejs文件夹)

3.4、模块配置

  正常情况下我还会配置如下几个东西,首先我会去nvm的安装目录(我这里是:C:\myProgram\nvm)新建两个文件夹:

  • node_global:设置全局模块路径
  • node_cache 设置缓存文件夹
#设置全局模块的安装路径到 “node_global” 文件夹,
npm config set prefix "C:\myProgram\nvm\node_global"#设置缓存到 “node_cache” 文件夹
npm config set cache "C:\myProgram\nvm\node_cache"#查看npm默认存放位置
#使用npm get prefix查看npm全局模块的存放路径
npm get prefix#使用npm get cache查看npm缓存默认存放路径
npm get cache

同时我会把全局模块路径加入环境变量比如我这里的是:C:\myProgram\nvm\node_global
在这里插入图片描述
有些还要设置国内镜像(我一般科学上网就无所谓了)

#新的淘宝镜像源
npm config set registry http://registry.npmmirror.com

以上的配置你可以在文件C:\users\admin.npmrc中看到:

prefix=C:\myProgram\nvm\node_global
cache=C:\myProgram\nvm\node_cache
registry=https://registry.npmmirror.com

四、其他

4.1、全局安装pnpm

  赶紧体验一把,先全局安装个pnpm压压惊

C:\Users\admin>npm install pnpm -gadded 1 package in 5s1 package is looking for fundingrun `npm fund` for details
npm notice
npm notice New patch version of npm available! 10.5.0 -> 10.5.2
npm notice Changelog: https://github.com/npm/cli/releases/tag/v10.5.2
npm notice Run npm install -g npm@10.5.2 to update!
npm notice

此时全局模块文件夹里就会有pnpm模块了。

4.2、常用nvm命令

nvm命令说明
nvm list 或者 nvm ls 或者 nvm list installed查看已经安装的版本
nvm list available查看网络可以安装的nodejs版本
nvm version查看当前nvm的版本
nvm install安装最新版本
nvm uninstall 卸载指定的nodejs版本
nvm use 切换使用指定的nodejs版本
nvm on打开nodejs控制
nvm off关闭nodejs控制
nvm proxy查看设置与代理
nvm root [path]设置和查看root路径
nvm reinstall-packages 在当前版本node环境下,重新全局安装指定版本号的npm包

相关文章:

NVM的安装与配置

目录 一、简介二、下载2.1、windows环境下载地址2.2、安装 三、配置3.1、查看可安装版本3.2、安装版本3.3、使用和切换版本3.4、模块配置 四、其他4.1、全局安装pnpm4.2、常用nvm命令 一、简介 NVM,全称为Node Version Manager,是一个流行的命令行工具&a…...

[Java EE] 多线程(一) :线程的创建与常用方法(上)

1. 认识线程 1.1 概念 1.1.1 什么是线程 ⼀个线程就是⼀个"执⾏流".每个线程之间都可以按照顺序执⾏⾃⼰的代码.多个线程之间"同时"执⾏ 着多份代码. 还是回到我们之前的银⾏的例⼦中。之前我们主要描述的是个⼈业务,即⼀个⼈完全处理⾃⼰的…...

Linux安装docker(含Centos系统和Ubuntu系统)

一、Centos系统 1. 卸载旧版本依赖 sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine 2. 设置仓库 安装所需的软件包。yum-utils 提供了 yum-config-manager &…...

【第十五届蓝桥杯大赛软件赛省赛】———— C/C++ 大学B组

蓝桥杯2024年15届省赛b组原题献上...

Redis+lua脚本限制ip多次输入错误密码

Redislua脚本限制ip多次输入错误密码 不能锁username,因为如果有人恶意保留破解密码的话。会导致用户本人无法登录。 这里我采用 以ip的方式进行锁定。利用redis 设置key:ip。value:当前ip尝试登录的次数 实现逻辑 逻辑简单,假设…...

全球顶级的低代码开发平台,你知道几个?

什么是低代码开发平台? 低码开发平台是一个应用程序,提供图形用户界面编程,从而以非常快的速度开发代码,减少了传统的编程工作。 这些工具有助于快速开发代码,最大限度地减少手工编码的努力。这些平台不仅有助于编码,而且还能快速安装和部署。 低码开发工具的好处 低代码平…...

11-1.Vue2.x基本列表—v-for

文章目录 Vue2.x基本列表—v-for Vue2.x基本列表—v-for <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><title>基本列表</title><script type"text/javascript" src"../js/vue.j…...

一本书精通推荐算法,轻松搞定入门、面试、进阶

当前互联网高速发展&#xff0c;用户规模和内容规模均迅猛提升。 身处信息严重过载的时代&#xff0c;如何让用户从海量信息中发现自己感兴趣的内容&#xff0c;成了很多公司的核心问题。 在此背景下&#xff0c;搜索系统和推荐系统应运而生。 前者主要解决用户主动寻找内容…...

ADB的基本语法及常用命令

学习网址 ADB命令的基本语法如下&#xff1a; adb [-d|-e|-s <serialNumber>] <command> 如果有多个设备/模拟器连接&#xff0c;则需要为命令指定目标设备。 参数及含义如下&#xff1a; 常用命令如下&#xff1a; 1. 启动ADB服务 adb start-server 2. 停止…...

Linux之bpfjit(2)使用分析和mini-tcpdump实现

Linux之bpfjit(2)使用分析和mini-tcpdump实现 Author: Once Day Date: 2024年4月13日 一位热衷于Linux学习和开发的菜鸟&#xff0c;试图谱写一场冒险之旅&#xff0c;也许终点只是一场白日梦… 漫漫长路&#xff0c;有人对你微笑过嘛… 全系列文章可以参考专栏&#xff1a;…...

adb常用命令汇总

Android Debug Bridge (adb) 是一个多功能命令行工具&#xff0c;它允许你与连接的Android设备或在电脑上的Android模拟器进行通信。下面列出了一些常用的adb命令&#xff1a; 启动adb服务&#xff1a; adb start-server停止adb服务&#xff1a; adb kill-server查看已连接的设…...

JVM虚拟机(三)垃圾回收简介、垃圾回收算法、分代回收、垃圾回收器种类、G1垃圾回收器

目录 一、什么是垃圾回收&#xff1f;1.1 什么是垃圾回收&#xff1f;1.2 什么对象能被垃圾回收&#xff1f;1&#xff09;引用计数法2&#xff09;可达性分析算法 二、JVM 垃圾回收算法2.1 标记清除算法2.2 标记整理算法&#xff08;标记压缩算法&#xff09;2.3 复制算法2.4 …...

JavaScript基础:js介绍、变量、数据类型以及类型转换

目录 介绍 引入方式 内部方式 外部形式 注释和结束符 单行注释 多行注释 结束符 输入和输出 输出 输入 变量 声明 赋值 关键字 变量名命名规则 常量 数据类型 数值类型 字符串类型 布尔类型 undefined 类型转换 隐式转换 显式转换 Number ✨介绍 &a…...

【牛客SQL快速入门】SQL基础(三)

一、条件函数 IF 条件函数 IF函数是最常用到的条件函数&#xff0c;写法为 if(xn,a,b)&#xff0c;xn代表判断条件&#xff0c;如果xn时&#xff0c;那么结果返回a&#xff0c;否则返回b。 -- 把非北京大学的用户统一归为其他大学 Select device_id,if(university ‘北京大…...

Pytorch手撸Attention

Pytorch手撸Attention 注释写的很详细了&#xff0c;对照着公式比较下更好理解&#xff0c;可以参考一下知乎的文章 注意力机制 import torch import torch.nn as nn import torch.nn.functional as Fclass SelfAttention(nn.Module):def __init__(self, embed_size):super(S…...

PyCharm 2024.1 发布:全面升级,助力高效编程!

PyCharm 2024.1 发布&#xff1a;全面升级&#xff0c;助力高效编程&#xff01; 文章目录 PyCharm 2024.1 发布&#xff1a;全面升级&#xff0c;助力高效编程&#xff01;摘要引言 Hugging Face&#xff1a;模型和数据集的快速文档预览针对 JavaScript 和 TypeScript 的全行代…...

Nginx基础(06)

Nginx基础&#xff08;05&#xff09; uWSGI 介绍 uWSGI 是一个 Web服务器 主要用途是将Web应用程序部署到生产环境中 可以用来连接Nginx服务与Python动态网站 1. 用 uWSGI 部署 Python 网站项目 配置 Nginx 使其可以将动态访问转交给 uWSGI 安装 python 工具及依赖 安…...

【Qt 学习笔记】QWidget的windowOpacity属性 | cursor属性 | font属性

博客主页&#xff1a;Duck Bro 博客主页系列专栏&#xff1a;Qt 专栏关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ QWidget的windowOpacity属性 | cursor属性 | font属性 文章编号&#…...

Python爬虫:requests模块的基本使用

学习目标&#xff1a; 了解 requests模块的介绍掌握 requests的基本使用掌握 response常见的属性掌握 requests.text和content的区别掌握 解决网页的解码问题掌握 requests模块发送带headers的请求掌握 requests模块发送带参数的get请求 1 为什么要重点学习requests模块&…...

C++traits

traits C的标准库提供了<type_traits>,它定义了一些编译时基于模板类的接口用于查询、修改类型的特征&#xff1a;输入的时类型&#xff0c;输出与该类型相关的属性 通过type_traits技术编译器可以回答一系列问题&#xff1a;它是否为数值类型&#xff1f;是否为函数对象…...

gitee和idea集成

1 集成插件 2 配置账号密码 3 直接将项目传到仓库 4直接从gitee下载项目...

阿维·威格德森(Avi Wigderson)研究成果对人工智能领域的应用有哪些影响

AI人工智能的影响 威格德森&#xff08;Avi Wigderson&#xff09;的研究成果对人工智能领域的应用产生了深远的影响。 首先&#xff0c;威格德森在计算复杂性理论、算法和优化方面的贡献为人工智能领域提供了高效、准确的计算模型和算法。他的研究帮助我们更好地理解计算问题…...

【免费领取源码】可直接复用的医院管理系统!

今天给大家分享一套基于SpringbootVue的医院管理系统源码&#xff0c;在实际项目中可以直接复用。(免费提供&#xff0c;文中自取) 系统运行图&#xff08;设计报告和接口文档&#xff09; 1、后台管理页面 2、排班管理页面 3、设计报告包含接口文档 源码免费领取方式 后台私信…...

leetcode代码记录(全排列 II

目录 1. 题目&#xff1a;2. 我的代码&#xff1a;小结&#xff1a; 1. 题目&#xff1a; 给定一个可包含重复数字的序列 nums &#xff0c;按任意顺序 返回所有不重复的全排列。 示例 1&#xff1a; 输入&#xff1a;nums [1,1,2] 输出&#xff1a; [[1,1,2], [1,2,1], [2,1…...

【数据结构与算法】之双向链表及其实现!

​ 个人主页&#xff1a;秋风起&#xff0c;再归来~ 数据结构与算法 个人格言&#xff1a;悟已往之不谏&#xff0c;知来者犹可追 克心守己&#xff0c;律己则安&#xff01; 目录 1、双向链表的结构及概念 2、双向链表的实现 2.1 要实现的接口…...

记一次奇妙的某个edu渗透测试

前话&#xff1a; 对登录方法的轻视造成一系列的漏洞出现&#xff0c;对接口确实鉴权造成大量的信息泄露。从小程序到web端网址的奇妙的测试就此开始。&#xff08;文章厚码&#xff0c;请见谅&#xff09; 1. 寻找到目标站点的小程序 进入登录发现只需要姓名加学工号就能成功…...

设计模式学习笔记 - 设计模式与范式 -总结:1.回顾23中设计模式的原理、背后的思想、应用场景等

1.创建型设计模式 创建型设计模式包括&#xff1a;单例模式、工厂模式、建造者模式、原型模式。它主要解决对象的创建问题&#xff0c;封装复杂的创建过程&#xff0c;解耦对象的创建代码和使用代码。 1.单例模式 单例模式用来创建全局唯一的对象。一个类只允许创建一个对象…...

22 文件系统

了解了被打开的文件&#xff0c;肯定还有没被打开的文件&#xff0c;就是磁盘上的文件。先从磁盘开始认识 磁盘 概念 内存是掉电易失存储介质&#xff0c;磁盘是永久性存储介质 磁盘的种类有SSD&#xff0c;U盘&#xff0c;flash卡&#xff0c;光盘&#xff0c;磁带。磁盘是…...

OVITO-2.9版本

关注 M r . m a t e r i a l , \color{Violet} \rm Mr.material\ , Mr.material , 更 \color{red}{更} 更 多 \color{blue}{多} 多 精 \color{orange}{精} 精 彩 \color{green}{彩} 彩&#xff01; 主要专栏内容包括&#xff1a; †《LAMMPS小技巧》&#xff1a; ‾ \textbf…...

【Java开发指南 | 第一篇】类、对象基础概念及Java特征

读者可订阅专栏&#xff1a;Java开发指南 |【CSDN秋说】 文章目录 类、对象基础概念Java特征 Java 是一种面向对象的编程语言&#xff0c;它主要通过类和对象来组织和管理代码。 类、对象基础概念 类&#xff1a;类是一个模板&#xff0c;它描述一类对象的行为和状态。例如水…...

wordpress默认注册/谷歌排名推广公司

多模块拆分的必要性使用Java技术开发的工程项目&#xff0c;无论是数据处理系统还是Web网站&#xff0c;随着项目的不断发展&#xff0c;需求的不断细化与添加&#xff0c;工程项目中的代码越来越多&#xff0c;包结构也越来越复杂这时候工程的进展就会遇到各种问题&#xff1a…...

分析企业网站建设流程/微博今日热搜榜

先说说localStorage与sessionStorage的差别 sessionStorage是存储浏览器的暂时性的数据&#xff0c;当关闭浏览器下次再打开的时候就不能拿到之前存储的缓存了 localStorage是存储浏览器的永久数据&#xff0c;只要不去自己清除数据&#xff0c;你下次打开时依然可以拿到浏览器…...

如何做网站经营性备案/外贸网络营销推广

数据结构实验之栈与队列七&#xff1a;出栈序列判定 Description 给一个初始的入栈序列&#xff0c;其次序即为元素的入栈次序&#xff0c;栈顶元素可以随时出栈&#xff0c;每个元素只能入栈依次。输入一个入栈序列&#xff0c;后面依次输入多个序列&#xff0c;请判断这些序…...

苏州市吴江建设局网站/品牌策划

抓娃娃机游戏相信很多小伙伴都玩过&#xff0c;然而抓它千百遍宝贝依然居于崖端而不落&#xff0c;现在别在怀疑自己了&#xff0c;其实这就是套路&#xff0c;近日日本的大型远程网上远程实体抓娃娃机游戏《Toreba》被指员工造假&#xff0c;引发舆论哗然。 《Toreba》是近期超…...

企业做网站的费用/推广平台网站

源&#xff1a;JNA调用DLL 介绍 给大家介绍一个最新的访问本机代码的Java框架—JNA。 JNA(Java Native Access)框架是一个开源的Java框架&#xff0c;是SUN公司主导开发的&#xff0c;建立在经典的JNI的基础之上的一个框架。 JNA项目地址&#xff1a;https://jna.dev.java.net/…...

国外直播做游戏视频网站有哪些/软文发稿网

大致思路&#xff1a; 题意大概就是&#xff1a;一个环上N个站点&#xff0c;每个站点可以加油gas[i]&#xff0c;每个站点到其下一个站点要消耗cost[i]&#xff0c;问你能否找到一个起点能够走过环上所有点&#xff08;终点起点&#xff09; 思路就是&#xff0c;可以理解到…...