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

大家好,今天给大家分享一个用于管理多个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 版本的安装和切换开源工具 - BTool博客 - 在线工具软件,为开发者提供方便

相关推荐
zlinear数据采集卡17 分钟前
USB HS 480M高速传输与SRAM记录仪:DABM-D223数据存储系统全解析
arm开发·嵌入式硬件·fpga开发·开源
zzzll11113 小时前
RAGFlow:开源可检索增强生成框架深度解析
开源
sbjdhjd4 小时前
大三网安秋招核心学习前言(AI 安全 + Web 漏洞 + 内网渗透全考点)
人工智能·网络协议·学习·安全·网络安全·开源·php
云空4 小时前
《完整开源魔方项目分类清单(按用途/语言划分,含GitHub地址、核心能力、适用场景)》
开源·编程·魔方
NutShell Wang4 小时前
国产全模态开源潮:从语言模型到视频模型,中国开源生态再升级
人工智能·语言模型·开源·大模型·音视频·多模态·vibe coding
Albart5755 小时前
【玩转 AtomCode】替代Claude Code!开源多模型免费AI编码Agent深度实测教程
人工智能·rust·开源·atomcode·多模型ai
kaixin_啊啊6 小时前
GitHub 开源 Qwen-MM-Plugins 小白入门,给 Codex 装上多模态工具箱
开源·github
晴殇i6 小时前
最近在 Github 名字叫“马尾辫”,这个真的很有趣看到头像
前端·后端·开源
fthux18 小时前
装闭 RenoPit 源码解析(05):FastAPI与Celery如何执行AI装修分析
人工智能·ai·开源·github·open source·renopit
冬奇Lab19 小时前
开源项目第183期:Ontology Playground — 微软出品的本体论可视化学习工具,零后端、浏览器直接运行
人工智能·microsoft·开源