当前位置: 首页 > 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;是否为函数对象…...

如何构建高效的个人游戏串流服务器:Sunshine完整部署指南

如何构建高效的个人游戏串流服务器&#xff1a;Sunshine完整部署指南 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine 在当今数字娱乐时代&#xff0c;游戏玩家面临着设备限制与体验…...

OpenClaw Memory启动器:快速构建AI记忆系统的开源脚手架

1. 项目概述&#xff1a;一个为AI记忆系统设计的开源启动器最近在折腾AI应用开发&#xff0c;特别是那些需要长期记忆和上下文管理的项目时&#xff0c;发现了一个挺有意思的GitHub仓库&#xff1a;christiancaviedes/openclaw-memory-starter。这本质上是一个为“OpenClaw Mem…...

大模型高效化实战:从量化剪枝到推理部署的完整指南

1. 大模型高效化&#xff1a;从“巨无霸”到“精悍战士”的必经之路如果你和我一样&#xff0c;在过去的几年里深度参与过大语言模型的部署和应用&#xff0c;那你一定对“模型太大”这个问题深有体会。动辄几十GB甚至上百GB的模型文件&#xff0c;对显存的贪婪吞噬&#xff0c…...

2026设备管理系统选型标准(技术向):8大核心维度,适配信创+全行业场景

对于企业IT运维、采购人员而言&#xff0c;设备管理系统选型需兼顾技术适配、合规要求、落地效率与长期扩展性。本文从技术与实践角度&#xff0c;梳理出8大核心选型标准&#xff0c;重点覆盖独享云部署、Excel导入能力、自定义扩展、信创适配等关键维度&#xff0c;为技术选型…...

在Node.js后端服务中集成Taotoken调用大模型指南

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 在Node.js后端服务中集成Taotoken调用大模型指南 将大模型能力集成到后端服务是现代应用开发的常见需求。Taotoken平台提供了OpenA…...

在株洲如何选择护脊透气的床垫?

引言在现代社会&#xff0c;随着生活节奏的加快和工作压力的增加&#xff0c;越来越多的人开始关注睡眠质量。而床垫作为影响睡眠质量的重要因素之一&#xff0c;其选择显得尤为重要。特别是对于需要护脊和透气功能的床垫&#xff0c;如何选择成为了一个关键问题。本文将结合德…...

技术奇点之后,人类程序员的历史角色

当人工智能越过技术奇点&#xff0c;代码生成、测试用例设计乃至系统运维都将发生质变。本文从软件测试从业者的视角出发&#xff0c;系统探讨人类程序员在奇点之后可能扮演的六种核心角色&#xff1a;系统守护者、需求翻译官、质量伦理法官、人机交互设计师、持续学习组织者与…...

C++数据结构进阶|排序:吃透O(n log n)核心算法,搞定面试高频考点

文章目录 前言 一、希尔排序&#xff08;Shell Sort&#xff09;—— 插入排序的进阶优化版 二、快速排序&#xff08;Quick Sort&#xff09;—— C面试手写高频&#xff0c;实际开发首选 三、归并排序&#xff08;Merge Sort&#xff09;—— 稳定排序的核心选择 四、堆排…...

如何在Windows上快速安装安卓应用:APK Installer终极指南

如何在Windows上快速安装安卓应用&#xff1a;APK Installer终极指南 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 你是否曾经想要在Windows电脑上运行安卓应用&…...

乔布斯产品哲学对硬件工程师的启示:从参数到体验的转变

1. 项目概述&#xff1a;一次对乔布斯遗产的技术性致敬2011年10月6日&#xff0c;当史蒂夫乔布斯逝世的消息传来&#xff0c;整个科技界陷入了一种复杂的情绪。作为一名长期在电子工程与消费电子领域工作的人&#xff0c;我的感受尤为深刻。那天&#xff0c;我和我的同事们&…...