当前位置: 首页 > 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.dtcms.com/a/319860.html

相关文章:

  • Java设计模式总结
  • 【设计模式精解】什么是代理模式?彻底理解静态代理和动态代理
  • Vue自定义流程图式菜单解决方案
  • [激光原理与应用-171]:测量仪器 - 能量型 - 激光能量计(单脉冲能量测量)
  • DicomObjects COM 8.XX
  • VUE+SPRINGBOOT从0-1打造前后端-前后台系统-文章列表
  • [TIP 2025] 轻量级光谱注意力LSA,极致优化,减少99.8%参数,提升性能!
  • kafka安装与参数配置
  • MPC-in-the-Head 转换入门指南
  • 抖音、快手、视频号等多平台视频解析下载 + 磁力嗅探下载、视频加工(提取音频 / 压缩等)
  • 【性能测试】---测试工具篇(jmeter)
  • Java垃圾回收(GC)探析
  • 图像理解、计算机视觉相关名词解释
  • 最新教程 | CentOS 7 内网环境 Nginx + ECharts 页面离线部署手册(RPM 安装方式)
  • yolo目标检测技术:基础概念(一)
  • Vscode Data Wrangler 数据查看和处理工具
  • Docker容器技术详解
  • 施易德智慧门店管理系统:零售品牌出海的高效引擎
  • mysql 索引失效分析
  • Cesium粒子系统模拟风场动态效果
  • 国内使用 npm 时配置镜像源
  • 网络安全等级保护(等保)2.0 概述
  • 树莓派下载安装miniconda(linux版小anaconda)
  • 【奔跑吧!Linux 内核(第二版)】第6章:简单的字符设备驱动(一)
  • 解决 Nginx 反代中 proxy_ssl_name 环境变量失效问题:网页能打开但登录失败
  • 3深度学习Pytorch-神经网络--全连接神经网络、数据准备(构建数据类Dataset、TensorDataset 和数据加载器DataLoader)
  • TCP 如何保证可靠性
  • Linux openssl、openssh 升级 保留旧版本
  • 【插件式微服务架构系统分享】之 解耦至上:gateway 网关与APISIX 网关的不同分工
  • React 为什么要自定义 Hooks?