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包

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

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

相关文章

k8s控制器(五)_____DaemonSet

DaemonSet控制器 DaemonSet控制器是Kubernetes中的一种控制器,用于确保集群中的每个节点都运行一个Pod的副本。它通常用于在整个集群中部署一些系统级别的服务: 在每一个node节点运行一个存储服务,例如gluster,ceph。在每一个no…

模型预测控制MPC(2)—— 无约束线性MPC

前文:模型预测控制MPC(1)—— 基础概念参考:模型预测控制(2022春)本文从偏控制的角度介绍无约束线性MPC方法, x , u , J x,u,J x,u,J 分别代表状态、动作和代价函数 文章目录 1. 问题定义1.1 多…

P2P通信基本原理

在数字世界的脉络中,点对点(P2P)技术如同一条悄无声息的河流,流经信息的每个角落,连接着世界各地的计算机和设备。这种去中心化的网络模型,不仅打破了传统的客户端-服务器架构的界限,还赋予了数…

DC-5渗透测试复现

DC-5渗透测试复现 目的: 获取最高权限以及5个flag 过程: 信息打点-文件包含漏洞-弹shell- scren-4.0.5提权 环境: 攻击机:kali(192.168.85.136) 靶机:DC_3(192.168.85.134) 复现: 一.信息收集 nma…

DC-2渗透测试复现

DC-2渗透测试复现 目的: 获取最高权限以及5个flag 过程: 信息打点-ssh连接-git提权 环境: 攻击机:kali(192.168.85.136) 靶机:DC_2(192.168.85.132) 复现: 一.信息收集 nmap -sP 192.168.85.0/24 …

element问题总结之el-table使用fixed固定列后滚动条滑动到底部或者最右侧的时候错位问题

el-table使用fixed固定列后滚动条滑动到底部或者最右侧的时候错位 效果图前言解决方案纵向滑动滚动条滑动到底部的错位解决横向滚动条滑动到最右侧的错位解决 效果图 前言 在使用el-table固定行的时候移动滚动条会发现移动到底部或者移动到最右侧的时候会出现表头和内容错位或…

头歌-机器学习 第9次实验 随机森林

第1关:Bagging 任务描述 本关任务:补充 python 代码,完成 BaggingClassifier 类中的 fit 和 predict 函数。请不要修改 Begin-End 段之外的代码。 相关知识 为了完成本关任务,你需要掌握: 什么是 Bagging&#xf…

Day37:LeedCode 738.单调递增的数字 968.监控二叉树 蓝桥杯 翻转

738. 单调递增的数字 当且仅当每个相邻位数上的数字 x 和 y 满足 x < y 时&#xff0c;我们称这个整数是单调递增的。 给定一个整数 n &#xff0c;返回 小于或等于 n 的最大数字&#xff0c;且数字呈 单调递增 。 示例 1: 输入: n 10 输出: 9 思路: 假设这个数是98,…

Nginx健康检查

Nginx健康检查nginx_upstream_check_module nginx健康检查介绍: ​ 主动健康检查&#xff0c;nignx定时主动地去ping后端的服务列表&#xff0c;当发现某服务出现异常时&#xff0c;把该服务从健康列表中移除&#xff0c;当发现某服务恢复时&#xff0c;又能够将该服务加回健…

Offer必备算法26_BFS解决最短路_四道力扣题(由易到难)

目录 ①力扣1926. 迷宫中离入口最近的出口 解析代码 ②力扣433. 最小基因变化 解析代码 ③力扣127. 单词接龙 解析代码 ④力扣675. 为高尔夫比赛砍树 解析代码 本篇完。 ①力扣1926. 迷宫中离入口最近的出口 1926. 迷宫中离入口最近的出口 难度 中等 给你一个 m x …

【简明图文教程】Node.js的下载、安装、环境配置及测试

文章目录 前言下载Node.js安装Node.js配置Node.js配置环境变量测试后言 前言 本教程适用于小白第一次从零开始进行Node.js的下载、安装、环境配置及测试。 如果你之前已经安装过了Node.js或删除掉了Node.js想重新安装&#xff0c;需要先参考以下博客进行处理后&#xff0c;再根…

社交网络与Web3:数字社交的下一阶段

随着信息技术的飞速发展&#xff0c;人们的社交方式也发生了巨大的变化。从最初的互联网聊天室到如今的社交网络平台&#xff0c;我们已经见证了数字社交的不断演变和发展。而随着区块链技术的兴起&#xff0c;Web3时代的到来将为数字社交带来全新的可能性和挑战。本文将探讨社…

milvus各组件的结构体分析

milvus各组件的结构体分析 各组件启动&#xff0c;需要构建各组件的结构体&#xff0c;一共8个。 runComponent(ctx, localMsg, wg, components.NewRootCoord, metrics.RegisterRootCoord) runComponent(ctx, localMsg, wg, components.NewProxy, metrics.RegisterProxy) run…

游戏开发者必看:Perforce Helix Core 的功能特点及游戏开发中的常用工具、典型用例介绍

「不出海&#xff0c;即出局」随着全球化的加速发展&#xff0c;企业出海已成燎原之势。日前&#xff0c;2024 亚马逊云科技出海全球化论坛在深圳成功举办。龙智携手 Perforce 亮相游戏行业展区&#xff0c;展示了Perforce Helix Core如何与主流游戏开发引擎高效集成&#xff0…

Docker安装部署Jenkins并发布NetCore应用

Docker安装Jenkins # 拉取镜像 docker pull jenkins/jenkins # 查看镜像 docker images # 运行jenkins # 8080端口为jenkins Web 界面的默认端口 13152是映射到外部 &#xff1a;前面的是映射外部 # 50000端口为jenkins 的默认代理节点&#xff08;Agent&#xff09;通信端口…

FFmpeg: 自实现ijkplayer播放器--06封装打开和关闭stream

文章目录 流程图stream openstream close流程图 stream open 初始化SDL以允许⾳频输出;初始化帧Frame队列初始化包Packet队列初始化时钟Clock初始化音量创建解复用读取线程read_thread创建视频刷新线程video_refresh_threadint FFPlayer::stream_open(const char

java:多线程解决生产者消费者问题

生产者消费者问题 生产者消费者问题&#xff0c;也称有限缓冲问题&#xff0c;是一个多线程同步问题的经典案例。该问题描述了共享固定大小缓冲区的两种线程——即所谓的“生产者”和“消费者”——在实际运行时会发生的问题。生产者的主要作用是生成一定量的数据放到缓冲区中…

第十三届蓝桥杯省赛大学B组编程题(c++)

D.刷题统计 二分(AC): 注意:二分时右边界 right 的确定 #include<iostream> using namespace std; long long a,b,n; bool check(long long x){long long tx/7;x%7;long long temp0;if(x<5) tempx*a;else temp5*a(x-5)*b;long long cntt*(5*a2*b)temp;return cnt&g…

【网站项目】驾校报名小程序

&#x1f64a;作者简介&#xff1a;拥有多年开发工作经验&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。&#x1f339;赠送计算机毕业设计600个选题excel文件&#xff0c;帮助大学选题。赠送开题报告模板&#xff…

【Linux学习笔记】安卓设置内核信息的打印级别

开发环境 开发板&#xff1a;正点原子RK3568开发板安卓版本&#xff1a;11 问题描述 在串口调试过程中经常打印出这样的一些信息 极影响调试&#xff0c;暂时又没什么用&#xff0c;有些时候还不能给它直接关了。尤其是这个信息 healthd: battery l50 v3 t2.6 h2 st3 fc10…