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

nvm安装,nvm管理node版本

背景:

公司项目不同、项目搭建node版本不同,维护项目需要不同node版本。公司有的项目比较老需要降低node版本才能运行,由于来回进行卸载不同版本的node比较麻烦;所以需要使用node工程多版本管理,后面就安装了nvm来管理node版本。之前是安装过一个node版本的,所以再安装nvm之前需要先卸载node及清除环境变量配置。也可以不卸载node但要保证环境变量配置正确【保证正确,一般推荐卸载干净重新安装】

检验是否卸载干净:卸载完之后cmd命令行输入 node -v 查看是否还能查到node信息,无则表示删除干净。

注意:安装nvm时不能安装任何node版本(如存在请删除后再安装nvm),再删除环境变量,如果还有其它node.js相关的也删除,保证系统无任何node.js 残留。
 

博客行文思路,如下:

介绍nvm以及官网链接;

效果展示:

一、nvm官网介绍

(一)、卸载node

控制面板 -> 卸载程序 -> 卸载nodejs

为了确保彻底删除node,看下node安装目录中还有没有node文件夹,有的话一起删除。
删除以下文件夹(如果存在的话)
C:\Program Files (x86)\Nodejs
C:\Program Files\Nodejs
C:\Users{User}\AppData\Roaming\npm
C:\Users{User}\AppData\Roaming\npm-cache
删除C:\Users\用户名 下的 .npmrc文件以及 .yarnrc 文件
环境变量中npm、node的所有相关统统删除

(二)、下载nvm,以windows系统为例

nvm是什么?

nvm 是什么?

nvm(Node Version Manager) 是一个用于管理 Node.js 版本的命令行工具。它允许开发者在同一台机器上安装和切换多个版本的 Node.js,以便于在不同的项目中使用不同的 Node.js 版本。

在工作中,我们可能同时在进行2个或者多个不同的项目开发,每个项目的需求不同,进而不同项目必须依赖不同版本的 NodeJS 运行环境,这种情况下,对于维护多个版本的 node 将会是一件非常麻烦的事情。nvm 就是为解决这个问题而产生的,他可以方便的在同一台设备上进行多个node版本之间切换。


官网链接:点击跳转


下载完成之后,放置在D盘,以管理员身份运行安装nvm:

备注:我安装了两个版本的nvm,一个是公司同事的,一个是官网上找的最新的版本。还是要找官网最新的,老版本安装不上nodejs环境。【闭坑】


安装nvm并避免node环境安装C盘:

在安装nvm的过程中调整nvm的安装路径,但是当使用nvm下载相应的node环境的时候,还是会默认安装到C盘位置,从而占用C盘的磁盘空间,影响整机性能。

很多小伙伴安装nvm,都没办法完全脱离安装C盘。现在教大家如何正确配置nvm的安装路径:

下载的nvm.exe放置在D盘。

正常从官网下载nvm的版本,然后点击安装包的nvm.exe以管理员身份运行。

注意只要涉及选择路径的地方,统统切换到非C盘位置。

我是换成D盘。并且注意安装路径的文件夹名称不要出现中文、空格等,否则后期npm使用的时候会出现符号格式不正确问题。

如我这里安装在D:\myNvm\nvm

然后在这里创建一个nodejs的文件目录。

之后点settings.txt,用记事本打开,然后在底部添加:

node_mirror: http://npmmirror.com/mirrors/node/
npm_mirror: http://registry.npmmirror.com/mirrors/npm/

这两行是配置下载源,下载node和npm的路径。

注意:因为npm.taobao.org 域名HTTPS证书到期更换为 npmmirror.com

备注:settings.txt的含义:

第一行是 nvm安装路径
第二行是 nodejs路径
第三行是 node下载镜像
第四行是 npm下载镜像

安装nvm的官方链接:点击跳转

nvm和node都安装到D盘,需要创建一个nodejs文件夹:


检查nvm是否安装完成

win + R,调用cmd,输入nvm -v查看是否有版本号输出,如果有版本号显示说明安装成功并已加入到windows系统环境变量,可以cmd命令调用;可以打开终端powerShell。

如果安装不成功,查看之前自己安装的 node.js 有没有彻底删除、安装nvm过程中有没有漏掉什么,可重新卸载再安装一次nvm包。

如果未有版本号输出,请手动添加到环境变量(可跳过)。右键“我的电脑”- “高级系统设置”- “环境变量”,在系统变量里,查看是否有NVM_HOME, NVM_SYMLINK, 按下图所示手动新建变量和路径却可。

备注:

按照nvm安装步骤安装的话,安装的路径默认配置在C盘,安装路径改为D盘之后,环境变量也是自动配置好的。。。


环境变量配置

设置系统变量和用户变量的作用是什么呢?
答:在项目搭建的时候,会使用命令行安装插件或者依赖,为了使用命令行安装包、插件、依赖的时候,将包安装到自己设置的目录下。

1)新增俩文件夹
首先创建"node_global" 和 “node_cache”两个文件夹进行全局安装的时候安装对应的库到这两个文件。
在nvm的 nodejs 安装路径 D:\myNvm\nodejs 新建两个文件夹命名为 "node_global" 和 “node_cache”。

之前:

之后:

node_global

node_cache


执行以下命令行,配置npm全局下载的包的存放路径:

npm config set prefix "D:\myNvm\nodejs\node_global"
npm config set cache "D:\myNvm\nodejs\node_cache"

执行成功就无任何响应。没有异常的话,就在去到 环境变量设置处。

图片如下:

配置node全局安装的环境变量:

在用户变量和系统变量都要配置:

  • 用户变量修改 path 变量
  •  系统环境变量新增 NODE_PATH 变量

用户变量:

D:\myNvm\nodejs\node_global

D:\myNvm\nodejs\node_cache

系统变量:

D:\myNvm\nodejs\node_global\node_modules

使用nvm安装node版本

win + R,调用cmd

安装完成后开始插入nodejs首先使用 nvm list available 查询可插入版本号,LST表示可插入稳定版本。【如未指定版本,建议安装LTS下的版本】

nvm安装node的官方链接:点击跳转

nvm命令大全
  • nvm arch:显示node是运行在32位还是64位。

  • nvm install <version> [arch] :安装node, version是特定版本也可以是最新稳定版本latest。可选参数arch指定安装32位还是64位版本,默认是系统位数。可以添加--insecure绕过远程服务器的SSL。

  • nvm list [available] :显示已安装的列表。可选参数available,显示可安装的所有版本。list可简化为ls。

  • nvm lsnvm list :显示已安装的列表。

  • nvm on :开启node.js版本管理。

  • nvm off :关闭node.js版本管理。

  • nvm proxy [url] :设置下载代理。不加可选参数url,显示当前代理。将url设置为none则移除代理。

  • nvm node_mirror [url] :设置node镜像。默认是https://nodejs.org/dist/。如果不写url,则使用默认url。设置后可至安装目录settings.txt文件查看,也可直接在该文件操作。

  • nvm npm_mirror [url] :设置npm镜像。https://github.com/npm/cli/archive/。如果不写url,则使用默认url。设置后可至安装目录settings.txt文件查看,也可直接在该文件操作。

  • nvm uninstall <version> :卸载指定版本node。

  • nvm use [version] [arch] :使用制定版本node。可指定32/64位。

  • nvm root [path] :设置存储不同版本node的目录。如果未设置,默认使用当前目录。

  • nvm version 或nvm vnvm -v:显示nvm版本。version可简化为v。

nvm install 16.14.0
nvm use 16.14.0
nvm list或者nvm ls
nvm uninstall node版本号  //例如:nvm uninstall 16.14.0)即可删除对应版本
// 1. 清空缓存
npm cache clean --force
// 2. 切换新源
npm config set registry https://registry.npmmirror.com
//3.检查新源
npm config get registry

http://www.lryc.cn/news/612697.html

相关文章:

  • 【数据结构初阶】--排序(五)--计数排序,排序算法复杂度对比和稳定性分析
  • MATLAB科研数据可视化
  • 【CDA案例】数据分析案例拆解:解锁数据分析全流程!
  • 图像认知与OpenCV——图像预处理4
  • 计算机视觉--opencv(代码详细教程)
  • Java垃圾回收(GC)探析
  • 网络可视,运维无忧:分钟级定位,告别盲目扩容
  • 华为开源CANN,再次释放“昇腾转向”信号
  • spring boot学习计划
  • Qt: WA_DontCreateNativeAncestors
  • QT5.15 mingw
  • qt的元对象系统详解
  • B站,视频号怎么下载?,猫抓cat-catch离线版下载,Chrome扩展插件
  • 【Java】HashMap 的遍历方式有哪些?哪种更高效?
  • 什么是键值缓存?让 LLM 闪电般快速
  • OpenCV的关于图片的一些运用
  • 数据分析进阶——53页跨境数据分析【附全文阅读】
  • 僵尸进程问题排查
  • Mac+Chrome滚动截图
  • localforage的数据仓库、实例、storeName和name的概念和区别
  • OpenAI 开源模型 gpt-oss 正式上线微软 Foundry 平台
  • [Oracle] CEIL()函数
  • 利用微软SQL Server数据库管理员(SA)口令为空的攻击活动猖獗
  • MySQL中的DDL(一)
  • 直连微软,下载速度达18M/S
  • [2402MT-A] Redbag
  • 从周末去哪儿玩到决策树:机器学习算法的生活启示
  • 《深入解析缓存三大难题:穿透、雪崩、击穿及应对之道》
  • Mysql数据仓库备份脚本
  • 突破距离桎梏:5G 高清视频终端如何延伸无人机图传边界