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

Node.JS版本管理工具NVM

钱魏Way · · 223 次浏览
!文章内容如有错误或排版问题,请提交反馈,非常感谢!

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 设计的工具。

发表回复

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