器→工具, 工具软件, 开源项目, 术→技巧, 研发

Node.JS版本管理工具NVM

钱魏Way · · 94 次浏览

NVM简介

NVM(Node Version Manager) 是一个命令行工具,用于在一台计算机上方便地安装、切换和管理多个 Node.js 版本。它最初由 Tim Caswell 开发,现在由一个社区维护的团队进行更新和维护。NVM 主要用于 Unix-like 系统,如 macOS 和 Linux,但有一个 Windows 版本的替代品称为 nvm-windows。

NVM 的主要功能和优势包括:

  • 版本切换:NVM 允许你快速在多个js 版本之间切换,这对于开发和测试不同项目(可能依赖于不同 Node.js 版本)非常有用。
  • 独立安装:每个js 版本都是独立安装的,互不影响。这意味着你可以同时拥有多个版本,并且不会因为升级或降级一个版本而影响其他版本。
  • 控制全局环境:你可以设置一个全局默认的js 版本,这样每次打开新的终端会话时,都会自动使用这个版本。
  • 本地项目版本:对于特定项目,你可以在项目目录下指定使用特定的js 版本,使得团队协作时更容易保持一致性。
  • 安装管理:NVM 可以轻松安装、卸载和列出已安装的js 版本,以及查看远程仓库中的可用版本。
  • 节省磁盘空间:由于 NVM 只会为每个版本下载必要的文件,而不是整个js 源代码,因此可以节省磁盘空间。
  • 自动化脚本:NVM 支持在 shell 脚本中使用,使得在构建脚本或者持续集成(CI)环境中管理js 版本变得更加简单。

安装 NVM 通常涉及下载一个安装脚本并执行,然后将 NVM 的路径添加到你的 shell 配置文件(如 .bashrc 或 .zshrc)中。安装完成后,你可以使用 nvm install 命令安装所需版本的 Node.js,使用 nvm use 切换版本,使用 nvm ls 查看已安装的版本,以及其他相关命令。

nvm的安装

安装 NVM(Node Version Manager)相对简单,但具体步骤会因操作系统而异。下面我将详细介绍在 macOS、Linux 和 Windows 上安装 NVM 的方法。

在 macOS 和 Linux 上安装

步骤 1: 下载和安装 NVM

你可以通过 curl 或 wget 下载并安装 NVM。以下是两种方法:

使用 curl:

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

使用 wget:

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

更新 shell 配置文件

安装脚本会将 NVM 添加到你的 shell 配置文件(如 .bashrc、.zshrc、.profile 等)中。如果没有自动添加,你需要手动进行配置。

将以下行添加到你的 shell 配置文件:

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

对于使用 bash 的用户,编辑 ~/.bashrc:

nano ~/.bashrc

对于使用 zsh 的用户,编辑 ~/.zshrc:

nano ~/.zshrc

将上面的配置添加到文件中并保存。

步骤 3: 刷新 shell 配置

运行以下命令以使配置文件生效:

source ~/.bashrc

source ~/.zshrc

步骤 4: 验证安装

可以通过以下命令验证 NVM 是否安装成功:

nvm --version

在 Windows 上安装

对于 Windows 用户,建议使用 nvm-windows,这是专门为 Windows 设计的 NVM 替代品。

步骤 1: 下载安装程序

访问 nvm-windows 的 GitHub 页面,下载最新的安装程序(nvm-setup.zip)。

步骤 2: 解压并运行安装程序

解压下载的压缩包,并运行 nvm-setup.exe 安装程序。按照安装向导的指示完成安装。

步骤 3: 验证安装

安装完成后,打开命令提示符(CMD)或 PowerShell,并运行以下命令验证 NVM 是否安装成功:

nvm --version

nvm的使用

NVM(Node Version Manager)提供了丰富的命令集,帮助用户管理和操作 Node.js 版本。以下是一些常用 NVM 命令的详细解释:

基本命令

nvm install <version>  // 安装 Node.js 版本。示例:nvm install 14.17.0
nvm use <version> // 使用特定版本的 Node.js。示例:nvm use 14.17.0
nvm alias default <version> // 设置默认版本。示例:nvm alias default 14.17.0
nvm uninstall <version> // 卸载 Node.js 版本。示例:nvm uninstall 14.17.0
nvm ls // 列出所有已安装的版本
nvm ls-remote // 列出所有可用的远程版本
nvm current // 显示当前使用的 Node.js 版本
nvm alias default // 列出默认版本
nvm run <version> <file> // 运行特定版本的 Node.js。示例:nvm run 14.17.0 app.js

高级命令

nvm install stable // 安装最新的 Node.js 稳定版本
nvm install node // 安装最新的 Node.js 版本
nvm reinstall-packages <version> //重新安装 npm。示例:nvm reinstall-packages 14.17.0
nvm install –lts // 安装 Node.js 的 LTS(长期支持)版本
nvm ls-remote –lts //查看 LTS 版本信息
nvm alias // 列出所有别名
nvm alias <name> <version> // 创建别名。nvm alias myalias 14.17.0
nvm unalias <name> // 删除别名
nvm copy-packages <version> // 复制全局包列表到新版本。nvm copy-packages 14.17.0
nvm help // 查看 nvm 帮助

其他管理工具

不同的 Node.js 版本管理工具在功能和特性上各有优势。以下是对比 NVM 及其他工具的一些独特优势:

n

独特优势:

  • 轻量级和快速:n是一个轻量级的工具,安装和使用都很简单,性能表现也非常好。
  • 无需重启 shell:安装或切换js 版本后,无需重新启动 shell。

不足:

  • 功能较少:相比 NVM,功能相对较少,比如没有内置的自动完成等高级功能。

fnm (Fast Node Manager)

独特优势:

  • 性能优越:fnm是用 Rust 语言编写的,其性能显著优于用 JavaScript 或 shell 编写的 NVM。
  • 跨平台支持:不仅支持 macOS 和 Linux,还对 Windows 提供了良好的支持。
  • 并行下载:支持并行下载js 二进制文件,加快安装速度。

不足:

  • 较新的项目:相较于 NVM,fnm还相对较新,社区和插件生态系统不如 NVM 成熟。

Volta

独特优势:

  • 工具链管理:不仅可以管理js,还可以管理 npm、Yarn 等依赖工具,提供一个无缝的开发环境。
  • 速度快:Volta 使用 Rust 编写,具备出色的性能。
  • 即插即用:安装和切换版本后,无需重启 shell 或进行额外配置。

不足:

  • 复杂性:功能强大,但对于只需要简单切换js 版本的用户来说,可能显得有些复杂。
  • 依赖互联网:目前版本安装过程依赖互联网,离线安装支持不如其他工具好。

asdf

独特优势:

  • 多语言支持:asdf是一个通用的版本管理工具,不仅支持js,还支持 Ruby、Python、Elixir 等多种编程语言。
  • 插件系统:通过插件系统,可以扩展支持多种工具和语言。
  • 一致的 CLI:提供一致的命令行界面,方便管理多个语言版本。

不足:

  • 安装和配置复杂:相比其他专门的js 管理工具,asdf的安装和配置相对复杂一些。
  • 性能:由于其通用性,性能上可能不如专门针对js 设计的工具。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注