【前端知识】一款好用的node多版本管理工具nvm

news/2025/1/14 15:01:45 标签: 前端, node, nvm

好用的node多版本管理工具nvm

    • 概述
      • 一、NVM的主要功能
    • 二、安装NVM
      • 二、配置NVM
    • 三、常用命令
    • 四、具体应用场景

概述

NVM(Node Version Manager)是一个用于管理Node.js版本的命令行工具。它允许用户在同一台机器上安装和切换不同版本的Node.js,从而解决了因项目依赖不同Node.js版本而产生的兼容性问题。以下是对NVM的详细介绍:

一、NVM的主要功能

  1. 安装Node.js版本

    • NVM可以安装指定版本的Node.js,包括稳定版、测试版和旧版等。
    • 用户可以通过NVM轻松获取Node.js的最新版本或特定版本。
  2. 切换Node.js版本

    • NVM允许用户在不同版本的Node.js之间快速切换。
    • 这对于需要在不同项目中使用不同Node.js版本的开发人员来说非常有用。
  3. 卸载Node.js版本

    • 用户可以通过NVM卸载不再需要的Node.js版本,以释放磁盘空间。
  4. 列出已安装的Node.js版本

    • NVM可以列出当前已安装的所有Node.js版本,方便用户查看和管理。
  5. 设置默认Node.js版本

    • 用户可以通过NVM设置默认使用的Node.js版本,以便在每次打开新的终端会话时自动使用该版本。

二、安装NVM

  1. Windows系统

    • 前往NVM-Windows的GitHub页面下载最新版本的NVM安装程序(nvm-setup.exe)。
    • 运行安装程序,按照提示完成安装。注意选择存放NVM和Node.js的位置时,路径中不要包含中文和空格。
    • 安装完成后,打开命令提示符(CMD),输入nvm version,能查到版本号就说明安装成功。
  2. Linux或Mac系统

    • 使用curl或wget命令从NVM的GitHub仓库直接安装。例如:
    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
    # 或者
    wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
    
    • 安装完成后,重新打开终端或重新加载bash配置文件(如source ~/.bashrc)。

二、配置NVM

  1. 配置镜像源(可选):

    • 为了加速Node.js和npm的下载,可以修改NVM安装路径下的settings.txt文件,配置镜像源。例如:
    node_mirror: https://npm.taobao.org/mirrors/node/
    npm_mirror: https://npm.taobao.org/mirrors/npm/
    

    或者

    node_mirror: https://npmmirror.com/mirrors/node/
    npm_mirror: https://npmmirror.com/mirrors/npm/
    
  2. 配置环境变量(Windows系统可能需要):

    • 在系统环境变量中添加NVM和Node.js的路径。通常,安装NVM时会自动配置好环境变量。

三、常用命令

  1. 查看NVM版本

    nvm --version
    
  2. 查看可安装的Node.js版本

    nvm list available
    
  3. 安装指定版本的Node.js

    nvm install <version>
    

    例如:nvm install 14.17.0

  4. 查看已安装的Node.js版本

    nvm ls
    
  5. 使用指定版本的Node.js

    nvm use <version>
    

    例如:nvm use 14.17.0

  6. 设置默认Node.js版本

    nvm alias default <version>
    

    例如:nvm alias default 14.17.0

  7. 卸载指定版本的Node.js

    nvm uninstall <version>
    

    例如:nvm uninstall 14.17.0

四、具体应用场景

  1. 项目A需要Node.js 14.x版本

    • 使用nvm install 14.17.0安装Node.js 14.17.0版本。
    • 使用nvm use 14.17.0切换到该版本。
    • 在项目A的根目录下运行项目,确保使用的是正确的Node.js版本。
  2. 项目B需要Node.js 16.x版本

    • 使用nvm install 16.14.0安装Node.js 16.14.0版本。
    • 使用nvm use 16.14.0切换到该版本。
    • 在项目B的根目录下运行项目,确保使用的是正确的Node.js版本。
  3. 为项目设置.nvmrc文件

    • 在项目的根目录下创建一个.nvmrc文件,并写入所需的Node.js版本。
    • 在项目根目录下运行nvm use,NVM会自动读取.nvmrc文件并使用指定的Node.js版本。

通过上述步骤,您可以轻松地使用NVM来管理多个Node.js版本,确保不同项目之间的兼容性。


http://www.niftyadmin.cn/n/5822938.html

相关文章

Java算法 数据结构 栈 队列 优先队列 比较器

目录 栈 Stack 性质 构造 方法 代码示例 队列 Queue 性质 构造 方法 代码示例 优先队列 PriorityQueue 性质 构造 方法 代码示例 比较器 1. Comparator 接口的方法 2. 常见的内置比较器 1. 自然排序比较器&#xff08;naturalOrder()&#xff09; 2. 逆序排…

Android ScrollView嵌套X5WebView大片空白问题

scrollview嵌套后webview的高度不可控。留有大片空白。 注&#xff1a;官方不建议scrollview嵌套webview 最好让webview自身滚动 解决方案&#xff1a; act_news_detail_wv.setWebViewClient(new WebViewClient() {Overridepublic void onPageFinished(WebView webView, Str…

HCIP笔记1--IP路由基础回顾、BFD单臂回声、OSPF基础

1. 路由基础回顾 概念 AS(Aotonomous System): 自治系统&#xff0c;由同一机构管理的路由器集合。LAN(Local Area Network): 局域网&#xff0c;用户所使用的网络WAN(Wideless Area Network): 广域网&#xff0c;运营商网络广播域&#xff1a;一个广播帧能在网络中到达的所有…

win32汇编环境,对话框程序中对多行编辑框的操作

;运行效果 ;win32汇编环境,对话框程序中对多行编辑框的操作 ;比如生成多行编辑框&#xff0c;显示文本、获取文本、设置滚动条、捕获超出文本长度消息等。 ;直接抄进RadAsm可编译运行。重点部分加备注。 ;下面为asm文件 ;>>>>>>>>>>>>>…

mobaxterm内置编辑器中文出现乱码如何解决:直接更换编辑器为本地编辑器

诸神缄默不语-个人CSDN博文目录 使用场景是我需要用mobaxterm通过SSH的方式登录服务器&#xff0c;进入服务器之后我就直接打开代码文件&#xff0c;mobaxterm会直接用内置的编辑器&#xff08;MobaTextEditor&#xff09;打开&#xff0c;但这会导致中文编程乱码。 我一开始是…

LabVIEW水位监控系统

LabVIEW开发智能水位监控系统通过集成先进的传感技术与控制算法&#xff0c;为工业液体存储提供精确的水位调控&#xff0c;保证了生产过程的连续性与安全性。 项目背景 在化工和饮料生产等行业中&#xff0c;水位控制的准确性对保证生产安全和提高产品质量至关重要。传统的水…

Vue 学习之旅:核心技术学习总结与实战案例分享(vue指令下+计算属性+侦听器)

Vue 学习之旅&#xff1a;核心技术学习总结与实战案例分享 文章目录 Vue 学习之旅&#xff1a;核心技术学习总结与实战案例分享一、指令补充&#xff08;一&#xff09;指令修饰符&#xff08;二&#xff09;v-bind 对样式操作的增强&#xff08;三&#xff09;v-model 应用于其…

【机器学习】主动学习-增加标签的操作方法-样本池采样(Pool-Based Sampling)

Pool-Based Sampling Pool-based sampling 是一种主动学习&#xff08;Active Learning&#xff09;方法&#xff0c;与流式选择性采样不同&#xff0c;它假设有一个预先定义的未标注样本池&#xff0c;算法从中选择最有价值的样本进行标注&#xff0c;以提升模型的性能。这种…