首页 > 编程语言 >一个用于管理多个 Node.js 版本的安装和切换开源工具

一个用于管理多个 Node.js 版本的安装和切换开源工具

时间:2024-09-12 17:13:02浏览次数:9  
标签:Node js 开源 版本 nvm 安装 NVM

大家好,今天给大家分享一个用于管理多个Node.js版本的工具 NVM(Node Version Manager),它允许开发者在同一台机器上安装和使用不同版本的Node.js,解决了版本兼容性问题,为开发者提供了极大的便利。

在开发环境中,特别是在处理多个项目时,每个项目可能依赖于不同版本的 Node.js,NVM 提供了一个简单有效的方式来处理这种情况,无需重新安装整个系统环境。

项目介绍

  • 功能:NVM的主要功能是允许用户在同一台机器上安装和切换多个版本的Node.js,支持版本管理和切换,避免了版本冲突,确保每个项目都可以使用其所需的Node.js版本。

  • 用途:NVM主要用于简化Node.js版本管理,使得开发者可以为不同的项目选择合适的Node.js版本,无需全局更改,提高了开发效率和项目的兼容性。

安装使用

下载安装

1. MacOS 和 Linux

安装 nvm: 你可以通过 Shell 脚本来安装 nvm。打开终端,然后运行下面的命令:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

或者使用 wget:

wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

这里使用的是 nvm 的最新稳定版本 v0.39.7,如果你希望安装特定版本,可以修改 URL 中的版本号。

加载 nvm: 安装完成后,你需要重启终端或运行以下命令来加载 nvm:

export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm

或者在你的 shell 配置文件(如 .bashrc, .zshrc 等)中加入上面的命令,以便每次打开终端时自动加载 nvm。

2. Windows

下载 nvm-windows: 访问 GitHub 发布页面,下载最新版本的 nvm-windows。

安装 nvm-windows: 运行下载的安装程序,按照提示进行安装。在安装过程中,你可以选择 nvm 的安装路径和 node 的安装路径。

环境变量: 安装完成后,你可能需要将 nvm 的 bin 目录添加到你的系统 PATH 环境变量中。这通常在安装过程中会被自动添加,但如果未被添加,你需要手动进行。

验证安装: 打开一个新的命令提示符窗口,输入 nvm 命令,如果正确安装,你应该能看到 nvm 的帮助信息。

使用示例

1.列出可安装的 Node.js 版本

nvm ls-remote

这将列出所有可安装的 Node.js 版本。

2.安装特定版本的 Node.js

假设你想安装 Node.js 的 16.14.2 版本,你可以运行:

nvm install 16.14.2

3.设置默认版本

如果你想让这个版本成为你的默认版本,可以运行:

nvm alias default 16.14.2

4.切换 Node.js 版本

当你需要使用另一个版本时,可以使用 nvm use 命令来切换:

nvm use 14.19.0

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

nvm ls

这将列出所有你已经安装的 Node.js 版本。

6.删除已安装的 Node.js 版本

如果不再需要某个版本,可以使用 nvm uninstall 命令来删除:

nvm uninstall 14.19.0

7.在项目中使用特定版本

在项目目录中,你可以使用 .nvmrc 文件来指定项目需要的 Node.js 版本。创建一个 .nvmrc 文件并在其中写入版本号,例如:

touch .nvmrc
echo "16.14.2" > .nvmrc

当你在这个目录下运行任何命令时,nvm 会自动切换到指定的版本。

8.清除缓存

如果你遇到问题,可以尝试清除 nvm 的缓存:

nvm cache clear

项目地址

https://github.com/nvm-sh/nvm

标签:Node,js,开源,版本,nvm,安装,NVM
From: https://www.cnblogs.com/yunmoom/p/18410659

相关文章

  • Langchain.js如何实现RAG
    前面介绍了Langchain的基本使用方法。仅仅是对GPT方法的封装还不足以让它赢得那么多的Start,以及获得融资。它还有另一个强大的功能-RAG(检索增强生成)。RAG是大模型跟企业内部业务落地的基石。是大模型的北斗导航,可以让大模型的结果更加精准。一、RAG的基本概念与实现流程基于大......
  • 搭建基于Grafana+Prometheus+Node_exporter的性能监控与分析平台(Linux版)
    搭建基于Grafana+Prometheus+Node_exporter的性能监控与分析平台(Linux版)在现代IT环境中,系统监控与分析是确保应用稳定性和高效性的关键。Prometheus与Grafana的结合,为我们提供了一个强大而灵活的监控解决方案,能够实时地收集、处理并展示系统性能指标。本文将详细介绍如何在Linux......
  • 基于Node.js+vue中心医院药品管理系统的设计与实现(开题+程序+论文) 计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景随着医疗技术的不断进步和人们对健康需求的日益增长,中心医院作为医疗服务的重要载体,其运营效率和管理水平直接影响到患者的治疗效果与满意度。药品作为医疗......
  • 基于Node.js+vue基于springboot的影视资讯管理系统(开题+程序+论文) 计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景随着互联网的飞速发展,影视行业迎来了前所未有的繁荣期。海量影视资源的涌现,使得用户对于高效、便捷地获取影视资讯的需求日益增长。传统的影视资讯管理方式......
  • 基于Node.js+vue在线新闻网站系统的设计与实现(开题+程序+论文) 计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景在信息爆炸的时代,新闻资讯的获取与传播速度成为了衡量一个社会信息化水平的重要指标。随着互联网技术的飞速发展,传统新闻媒体逐渐向数字化、网络化转型,在线......
  • Express和Node中使用Fetch POST数据到服务器时遇到405错误
    和Node中使用FetchPOST数据到服务器时遇到405错误一、问题描述(一)错误现象在Express和Node中使用Fetch发送POST请求时,服务器返回了405错误。具体表现为,客户端向服务器发送POST请求后,服务器没有正确处理请求,而是返回了405错误代码,表示方法不被允许。这种错误通......
  • 零基础入门AI:一键本地运行各种开源大语言模型 - Ollama
    零基础入门AI:一键本地运行各种开源大语言模型-OllamaAI大模型全套学习资料“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了......
  • Vue.js应用程序容器化部署
    为什么要对Vue.js应用程序进行容器化?      在当今快节奏的开发环境中,容器化已成为一种必不可少的做法。Docker提供了一个标准化的软件单元,确保的应用程序无论部署在哪里,都能以相同的方式运行。对Vue.js应用程序进行Docker化有以下几个好处:一致性:确保应用程序在所......
  • 面试-JS Web API-事件绑定和事件代理
    编写一个通用的事件监听函数描述事件冒泡的流程无线下拉的图片列表,如何监听每个图片的点击?---事件代理用e.target获取触发元素用matches判断是否是触发元素事件绑定addEventListenerfunctionbindEvent(elem,type,fn){elem.addEventListener(type,fn)}const......
  • json数据解析
    Stringdata="{json}";ObjectMapperobjectMapper=newObjectMapper();JsonNoderootNode=null;try{rootNode=objectMapper.readTree(data);//通过将String类型的json数据转化为JsonNode对象}catch(JsonPr......