当前位置:首页 > 文章列表 > 文章 > 前端 > Nodejs 版本管理器终极指南:NVM、NVS、fnm、Volta 和 asdf |第 1 部分

Nodejs 版本管理器终极指南:NVM、NVS、fnm、Volta 和 asdf |第 1 部分

来源:dev.to 2024-09-16 15:49:00 0浏览 收藏

从现在开始,我们要努力学习啦!今天我给大家带来《Nodejs 版本管理器终极指南:NVM、NVS、fnm、Volta 和 asdf |第 1 部分》,感兴趣的朋友请继续看下去吧!下文中的内容我们主要会涉及到等等知识点,如果在阅读本文过程中有遇到不清楚的地方,欢迎留言呀!我们一起讨论,一起学习!

介绍

嘿!如果您曾经使用 node.js 进行过开发,您就会明白,对于项目来说,经常需要使用不同的版本。也许一个项目可以在版本 10 上运行,另一个项目可以在版本 14 上运行,而一个新项目需要最新版本,比如 20。随着每个新版本的新功能的出现,一系列新的挑战也随之出现。这些是与库和框架的兼容性、新功能的测试以及现有项目的稳定性。

当我同时处理多个项目时,我自己也遇到过这个问题。当每个项目都需要其版本时,看似非常简单的任务(安装 node.js)变得混乱。在本文中,我将告诉您如何使用 nvm、nvs、fnm、volta 和 asdf 等 node.js 版本管理工具解决这个问题。我将描述它们的工作原理,列出优点和缺点,并为您提供我的个人经验,以帮助您选择最适合您需求的节点版本管理器。

为什么版本管理对开发人员很重要?

与库和框架的兼容性

node.js 本身正在快速发展,其工具生态系统也在快速发展。新的库、框架和版本在使用不同的 node.js 版本时需要很大的灵活性。某些视图框架可能仅与特定的 node.js lts 版本兼容,必须根据正在开发的项目切换到该版本。在不同的 node.js 版本之间切换将有助于避免兼容性问题并保持代码顺利运行。

考虑一下您正在处理一些旧项目,该项目取决于库的特定版本。您同时根据最新版本的 node.js 运行一些新项目,因为它使用仅在最新版本中可用的功能。新版本的 node.js 可能包含与这些库版本不兼容的功能,这将导致应用程序性能错误或不稳定。

有一天,我陷入了这样的困境,我需要手动安装不同版本的 node.js,使用它,然后重新安装另一个版本,依此类推。相信我,那是一场噩梦。然后,我突然意识到,如果没有节点版本管理器实用工具,我将无法做任何事情。

新功能测试

软件开发就是不断测试和实现新功能。 node.js 的每个新版本都会向开发人员提供更多语言和平台功能,例如增强的异步编程支持、模块系统的改进以及新的 api。然后,这些功能将在实际项目中进行测试,以确定它们的有效性以及是否将它们实现到主应用程序中。

但是如果你当前的项目在旧版本的 node.js 下运行稳定,而升级 node.js 后可能会出现问题怎么办?

这通常意味着检查 master 分支中的新功能,或使用新 node.js 版本的项目副本。幸运的是,版本管理工具允许我在不同版本之间切换,并且主分支不会出现故障。

确保稳定和安全

稳定性和安全性是任何项目的主要因素。在旧版本的 node.js 中,可能会存在一些错误,这些错误会在新版本中得到修复。如果应用程序依赖于支持新平台版本升级的旧库,那么升级到最新版本是相当危险的。

版本控制 node.js 允许您安全地升级平台版本,同时保留出现问题时回滚的可能性,从而帮助开发人员保持应用程序稳定且免受漏洞影响。

管理 node.js 版本的方法

Nodejs 版本管理器终极指南:NVM、NVS、fnm、Volta 和 asdf |第 1 部分

标准安装

如果您是 node.js 的新手,您可能已经从其官方网站下载并安装了它。当您只需要一个版本的 node.js 时,这是最直接的方法。您下载安装程序,按照说明操作,瞧 — node.js 就在您的计算机上。

但是想象一下,您正在处理多个项目,并且所有这些项目都需要某些特定版本的 node.js。例如,您在 node.js 10 上有一些旧项目,在 node.js 20 上有一些新项目。不断地重新安装 node.js 太耗时且不方便。

node.js 版本管理工具

有很多用于管理 node.js 版本的工具。在本文中,我将讨论五个流行的选项:nvm(节点版本管理器)、nvs(节点版本切换器)、fnm 或快速节点管理器、volta 和 asdf。所有这些都有其管理版本的方式和功能,可能适用于各种任务和团队。

这些版本管理器将自动化管理流程,管理版本的一致性,并避免兼容性问题,帮助您选择适合您需求的工具。

与 ci/cd 工具集成

Nodejs 版本管理器终极指南:NVM、NVS、fnm、Volta 和 asdf |第 1 部分

当您开始在团队中工作时,版本管理变得更加重要。每个开发人员都可能拥有自己的 node.js 版本,这在不同的开发和部署阶段可能会出现很大的问题,因为可能会出现不同的错误。在自动化扮演着重要角色的大型项目和团队中,此类 node.js 版本管理工具可以集成到 ci/cd 流程中。

nvm 等工具可以集成到 ci/cd 流程中,允许每个构建都使用所需版本的 node.js,而无需手动干预,确保每个团队成员都使用正确的 node.js 版本来执行其任务。这有助于保持不同环境(例如开发环境、测试和生产)的稳定性和一致性。

node.js 版本管理工具概述

现在,管理不同 node.js 版本的不同工具各有优缺点,我将尝试解释每种工具最适合什么情况。

nvm(节点版本管理器)

nvm 是节点版本管理器的缩写。它是最古老且仍然非常流行的 node.js 版本管理器之一。 nvm 由 tim caswell 于 2010 年创建,目前仍在积极维护中。

Nodejs 版本管理器终极指南:NVM、NVS、fnm、Volta 和 asdf |第 1 部分

nvm 将每个 node.js 版本下载到其自己的独立目录中,位于 ~/.nvm/versions/node/。当您使用 nvm use 在版本之间切换时,它会更新您的 $path 环境变量以指向适当的目录。

如何安装和使用

在 macos 和 linux 上安装:

要在 macos 和 linux 上安装 nvm,请按照以下步骤操作:

  1. 打开终端并输入以下内容:
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

这将从官方 nvm github 存储库下载并运行 nvm 安装脚本,nvm 将安装在您的系统上。安装完成后,您可以使用以下命令验证 nvm 是否已安装:
nvm — 版本

如果一切顺利,您应该会看到 nvm 版本。

windows 安装:

  1. 从其 github 存储库下载 nvm-windows 安装程序。
  2. 运行安装程序并按照屏幕上的说明进行操作,确保选择正确的安装路径。

在安装过程中,它会自动在您的配置文件中设置 nvm 配置。如果您使用 zsh,则为 ~/.zshrc;或者如果您使用的是 bash,则为 ~/.bashrc、~/.bash_profile 或其他配置文件。

如果这没有自动发生,请自行将 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"

使用非易失性存储器:

  • 列出可用的 node.js 版本:nvm ls-remote
  • 安装最新的 node.js 版本:nvm install node
  • 安装特定版本:nvm install 14.17.0 或 nvm install 14
  • 版本切换:nvm use 14.17.0 或 nvm use 14
  • 设置默认版本:nvm alias default 18
  • 查看已安装版本:nvm ls
  • 来自 .nvmrc 的版本:如果您的项目目录包含指定所需 node.js 版本(例如 16.13.0 或 20)的 .nvmrc 文件,您可以使用 nvm 自动切换到该版本。

nvm的优点:

  • 安装和使用:几分钟内完成,此后,处理各种 node.js 版本非常容易。
  • 灵活性:它允许人们在一台设备上运行或安装多个 node.js 版本而不会发生冲突。
  • 兼容性: nvm 适用于大多数类 unix 系统,并可在 macos 或 linux 上运行。对于 windows,有一个名为 nvm-windows 的端口。
  • 支持 .nvmrc 文件:此文件允许您在进入项目目录时自动切换到所需的 node.js 版本。
  • 社区和文档: 庞大的用户群和良好的文档使 nvm 成为值得信赖的选择。

nvm的缺点:

  • 性能:有时,nvm 可能比其他工具慢,尤其是在版本之间频繁切换时。
  • 手动管理:对于一些开发者来说,手动切换版本可能看起来不方便,特别是在需要自动化的情况下。
  • windows 上的不便:如果您在 windows 上工作,通过 wsl 使用 nvm 可能会不方便。

文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《Nodejs 版本管理器终极指南:NVM、NVS、fnm、Volta 和 asdf |第 1 部分》文章吧,也可关注golang学习网公众号了解相关技术文章。

版本声明
本文转载于:dev.to 如有侵犯,请联系study_golang@163.com删除
Win10记事本有什么作用 Win10记事本使用方法分享Win10记事本有什么作用 Win10记事本使用方法分享
上一篇
Win10记事本有什么作用 Win10记事本使用方法分享
为什么 Streams API 改变了 Web 开发者的游戏规则
下一篇
为什么 Streams API 改变了 Web 开发者的游戏规则
查看更多
最新文章
查看更多
课程推荐
  • 前端进阶之JavaScript设计模式
    前端进阶之JavaScript设计模式
    设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
    542次学习
  • GO语言核心编程课程
    GO语言核心编程课程
    本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
    508次学习
  • 简单聊聊mysql8与网络通信
    简单聊聊mysql8与网络通信
    如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
    497次学习
  • JavaScript正则表达式基础与实战
    JavaScript正则表达式基础与实战
    在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
    487次学习
  • 从零制作响应式网站—Grid布局
    从零制作响应式网站—Grid布局
    本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
    484次学习
查看更多
AI推荐
  • 毕业宝AIGC检测:AI生成内容检测工具,助力学术诚信
    毕业宝AIGC检测
    毕业宝AIGC检测是“毕业宝”平台的AI生成内容检测工具,专为学术场景设计,帮助用户初步判断文本的原创性和AI参与度。通过与知网、维普数据库联动,提供全面检测结果,适用于学生、研究者、教育工作者及内容创作者。
    7次使用
  • AI Make Song:零门槛AI音乐创作平台,助你轻松制作个性化音乐
    AI Make Song
    AI Make Song是一款革命性的AI音乐生成平台,提供文本和歌词转音乐的双模式输入,支持多语言及商业友好版权体系。无论你是音乐爱好者、内容创作者还是广告从业者,都能在这里实现“用文字创造音乐”的梦想。平台已生成超百万首原创音乐,覆盖全球20个国家,用户满意度高达95%。
    26次使用
  • SongGenerator.io:零门槛AI音乐生成器,快速创作高质量音乐
    SongGenerator
    探索SongGenerator.io,零门槛、全免费的AI音乐生成器。无需注册,通过简单文本输入即可生成多风格音乐,适用于内容创作者、音乐爱好者和教育工作者。日均生成量超10万次,全球50国家用户信赖。
    21次使用
  •  BeArt AI换脸:免费在线工具,轻松实现照片、视频、GIF换脸
    BeArt AI换脸
    探索BeArt AI换脸工具,免费在线使用,无需下载软件,即可对照片、视频和GIF进行高质量换脸。体验快速、流畅、无水印的换脸效果,适用于娱乐创作、影视制作、广告营销等多种场景。
    26次使用
  • SEO标题协启动:AI驱动的智能对话与内容生成平台 - 提升创作效率
    协启动
    SEO摘要协启动(XieQiDong Chatbot)是由深圳协启动传媒有限公司运营的AI智能服务平台,提供多模型支持的对话服务、文档处理和图像生成工具,旨在提升用户内容创作与信息处理效率。平台支持订阅制付费,适合个人及企业用户,满足日常聊天、文案生成、学习辅助等需求。
    26次使用
微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议隐私政策
返回登录
  • 重置密码