Ubuntu Node.js 版本管理工具 n 完整安装与使用教程

Ubuntu Node.js 版本管理工具 n 完整安装与使用教程

摘要:在 Node.js 开发中,不同项目常需要不同的 Node 版本,手动切换版本繁琐且易出错。n 是一款轻量、简洁的 Node.js 版本管理工具,无需复杂配置,一键实现版本安装、切换与删除,适配 Ubuntu 24.04 等 Linux 系统(不支持原生 Windows)。本文详细讲解 n 工具的安装、国内源配置、核心使用命令、别名设置及常见问题排查,全程复制粘贴即可操作,新手也能快速上手。

关键词:Ubuntu 24.04;Node.js;n 工具;版本管理;国内源配置

一、工具介绍

n 是由 TJ Holowaychuk 开发的简单高效的 Node.js 版本管理器,采用 Bash 脚本编写,无需子shell 和复杂配置,核心功能是简化 Node.js 版本的安装、切换与卸载流程。

核心优势:

  • 轻量无冗余:体积小、安装快,不占用过多系统资源;

  • 操作简洁:命令直观,无需记忆复杂语法,新手易上手;

  • 适配性强:支持 Ubuntu、CentOS 等 Linux 系统及 WSL(Windows 子系统),兼容主流 Node 版本;

  • 无侵入性:安装与使用不破坏系统原有 Node 环境(若有),可灵活切换。

注意:n 工具不支持原生 Windows 系统(如 PowerShell、Git Bash),Windows 用户推荐使用 nvm-windows 替代。

二、前置准备(必做)

Ubuntu 24.04 系统默认可能已安装 Node.js 或 npm,为避免版本冲突,建议先卸载干净(若未安装,可跳过此步骤)。

bash 复制代码
# 卸载 Node.js 和 npm
sudo apt remove -y nodejs npm
# 清理残留依赖
sudo apt autoremove -y
# 更新软件源
sudo apt update

同时安装必要依赖(curl、git),后续安装和使用会用到:

bash 复制代码
sudo apt install -y curl git

三、n 工具安装(4种方式,优先推荐方式2)

n 工具提供多种安装方式,适配不同场景(有无 Node 环境均可),以下是最常用的4种方式,按需选择即可。

方式1:npm 全局安装(已有 Node 环境适用)

若你的系统已安装 Node.js(非通过 n 工具安装),可直接通过 npm 全局安装 n,简单快捷,且能通过 npm 方便更新 n 本身。

bash 复制代码
# npm 全局安装 n
npm install -g n

注意:若提示权限不足(Permission denied),可临时提权安装:

bash 复制代码
sudo npm install -g n

方式2:一键脚本安装(无 Node 环境)

这是最适合 Ubuntu 24.04 新手的方式,无需预装 Node.js,一键安装 n 工具并自动配置环境变量,还附带 n-update、n-uninstall 便捷脚本,后续卸载也方便。

bash 复制代码
# 一键安装 n 工具(自动配置环境)
curl -L https://bit.ly/n-install | bash

安装完成后,执行以下命令让环境变量立即生效:

bash 复制代码
source ~/.bashrc

方式3:curl 直接安装(无 Node 环境,快速体验)

无需预装 Node.js,直接通过 curl 拉取 n 脚本并安装,同时可直接安装最新 LTS 版本的 Node.js,适合快速搭建环境。

bash 复制代码
# 安装 n 并同步安装最新 LTS 版 Node.js
curl -fsSL https://raw.githubusercontent.com/tj/n/master/bin/n | bash -s install lts

安装完成后,若需更新 n 工具本身,执行:npm install -g n

方式4:验证安装成功

无论哪种安装方式,安装完成后执行以下命令,若能正常输出版本号,说明安装成功:

bash 复制代码
# 查看 n 工具版本
n --version
# 查看当前 Node 版本(方式2、3 安装后会自动安装 Node)
node -v
# 查看当前 npm 版本
npm -v

四、关键配置:国内镜像加速(必做,解决下载慢问题)

n 工具默认使用 Node 官方源(国外服务器),在国内下载 Node 版本时速度极慢,甚至会卡死。通过配置国内镜像(npmmirror 原淘宝镜像),可大幅提升下载速度,以下提供临时和永久两种配置方式。

方式1:永久配置(推荐,一劳永逸)

将镜像地址写入系统环境变量,每次使用 n 工具时都会自动使用国内源,适配 Ubuntu 24.04 默认的 bash 终端:

bash 复制代码
# 写入 bash 配置文件(永久生效)
echo 'export N_NODE_MIRROR=https://npmmirror.com/mirrors/node' >> ~/.bashrc
# 若使用 zsh 终端,额外写入 zsh 配置(可选)
echo 'export N_NODE_MIRROR=https://npmmirror.com/mirrors/node' >> ~/.zshrc
# 让配置立即生效
source ~/.bashrc
# zsh 用户执行:source ~/.zshrc

方式2:临时配置(单次生效)

适合临时测试多源或无需长期配置的场景,仅对当前终端会话生效,无需修改配置文件:

bash 复制代码
# 临时使用国内源安装最新 LTS 版本
N_NODE_MIRROR=https://npmmirror.com/mirrors/node n lts
# 临时使用国内源安装指定版本(如 20.18.0)
N_NODE_MIRROR=https://npmmirror.com/mirrors/node n 20.18.0

方式3:验证镜像配置生效

执行以下命令,若输出国内镜像地址,说明配置成功:

bash 复制代码
echo $N_NODE_MIRROR

输出结果:https://npmmirror.com/mirrors/node(配置成功);无输出(未配置,使用官方源)。

五、n 工具核心使用命令(新手必记)

n 工具的命令简洁直观,记住以下核心命令,即可满足日常版本管理需求,所有命令均在终端直接执行。

1. 版本安装(最常用)

bash 复制代码
# 安装最新 LTS 稳定版(推荐,适配大多数项目)
n lts
# 安装最新正式版(不稳定,适合测试)
n latest
# 安装指定大版本(自动下载该版本最新补丁版)
n 20  # 安装 20.x 最新版
n 18  # 安装 18.x 最新版
# 安装指定精确版本(如 20.18.0)
n 20.18.0

注意:安装时若提示权限不足,执行 sudo chown -R $(whoami) ~/.n /usr/local/bin 后重试(后续无需再输 sudo)。

2. 版本切换(核心功能)

bash 复制代码
# 直接切换到已安装的指定版本(如 20.18.0)
n 20.18.0
# 交互式切换(最直观,适合多版本共存)
n

执行 n 后,终端会列出所有已安装的 Node 版本,操作说明:

  • 上下箭头:选择需要切换的版本;

  • 回车:确认切换,当前终端立即生效;

  • d:删除选中的版本;

  • q:退出交互式界面,不做任何操作。

3. 版本查看

bash 复制代码
# 查看本机已安装的所有 Node 版本
n ls  # 或简写 n list
# 查看当前正在使用的 Node 版本
node -v
# 查看远程所有可安装的 Node 版本
n ls-remote
# 查看远程所有可安装的 LTS 稳定版
n ls-remote lts

4. 版本删除

bash 复制代码
# 删除指定版本(如 18.17.0)
n rm 18.17.0
# 批量删除多个版本(用空格分隔)
n rm 18.17.0 22.0.0
# 卸载 n 工具(备用,彻底删除)
n-uninstall

5. 缓存与诊断

bash 复制代码
# 清理全局未使用的 Node 版本缓存
n store prune
# 诊断 n 工具运行环境(排查异常)
n doctor

六、进阶配置:设置版本别名(提升效率)

n 工具本身没有内置的别名设置命令,别名是 Ubuntu 系统自带的功能,通过设置别名,可将常用的版本切换命令简化,一键切换版本,提升开发效率。

1. 永久设置别名

bash 复制代码
# 打开 bash 配置文件
nano ~/.bashrc

在文件末尾添加以下内容(可自定义别名,如 v18、v20):

bash 复制代码
# Node.js 版本管理别名(自定义)
alias v18="n 18"          # 一键切换到 18.x 版本
alias v20="n 20"          # 一键切换到 20.x 版本
alias v22="n 22"          # 一键切换到 22.x 版本
alias nlts="n lts"        # 一键安装/切换最新 LTS 版
alias nls="n ls"          # 一键查看已安装版本
alias nv="node -v"        # 一键查看当前 Node 版本
alias ns="echo $N_NODE_MIRROR" # 一键查看当前镜像源

保存退出:按 Ctrl+O → 回车确认 → 按 Ctrl+X 退出编辑。

让别名立即生效:

bash 复制代码
source ~/.bashrc

2. 别名使用示例

bash 复制代码
v20    # 一键切换到 Node 20 版本
nls    # 一键查看所有已安装版本
nv     # 一键查看当前版本

3. 别名删除(备用)

若需删除某个别名,重新打开 ~/.bashrc 文件,删除对应的 alias 行,保存后执行 source ~/.bashrc 即可生效。

七、常见问题排查

使用 n 工具时,最常见的问题是权限不足、镜像配置错误、版本切换不生效,以下是具体解决方案。

问题1:安装/切换版本时提示权限不足(Permission denied)

原因:n 默认安装路径 /usr/local 普通用户无写权限,或 ~/.n 目录权限异常。

解决方案:一次性授权所有相关目录,执行以下命令:

bash 复制代码
sudo chown -R $(whoami) ~/.n /usr/local/bin /usr/local/lib /usr/local/include

问题2:下载 Node 版本速度极慢、卡死

原因:未配置国内镜像,使用了国外官方源。

解决方案:按照本文"四、关键配置"部分,配置国内镜像,配置后重新执行安装命令。

问题3:切换版本后,node -v 显示版本未变

原因:环境变量未生效,或系统中存在多个 Node 版本(如之前手动安装的 Node)。

解决方案:

bash 复制代码
# 重新加载环境变量
source ~/.bashrc
# 彻底卸载手动安装的 Node(若有)
sudo apt remove -y nodejs npm
# 重新切换版本
n 20.18.0

问题4:n 命令找不到(command not found)

原因:安装后未加载环境变量,或安装路径未加入系统 PATH。

解决方案:

bash 复制代码
# 重新加载环境变量
source ~/.bashrc
# 若仍无效,手动添加路径(一键脚本安装默认路径)
echo 'export PATH=$HOME/n/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

问题5:安装新 Node 版本后,npm 版本异常

原因:默认情况下,安装新 Node 版本会覆盖 npm 版本,可能导致兼容性问题。

解决方案:安装新 Node 版本前,先全局更新 npm,或使用 --preserve 选项保留现有 npm 版本:

bash 复制代码
# 全局更新 npm 至最新版
npm install -g npm@latest
# 安装 Node 时保留现有 npm 版本
n -p 20.18.0

八、总结

n 工具是 Linux 系统下最简洁的 Node.js 版本管理工具,无需复杂配置,一键实现版本的安装、切换与删除,非常适合新手和日常开发使用。

核心要点回顾:

  • 优先选择「一键脚本安装」,无坑且自动配置环境;

  • 必须配置国内镜像,否则下载速度极慢;

  • 核心命令:n lts(安装稳定版)、n 版本号(切换/安装版本)、n(交互式切换);

  • 通过系统 alias 设置别名,提升操作效率;

  • 权限问题是最常见坑,执行授权命令即可解决。

补充说明

  1. n 与 nvm 的区别:n 是 Node 模块,需依赖 Node 环境安装,所有版本的 Node 模块共享一个目录;nvm 是独立软件,无需依赖 Node 环境,各版本 Node 环境相互隔离,按需选择即可。

  2. 其他国内镜像(按需替换):

相关推荐
devlei8 小时前
从源码泄露看AI Agent未来:深度对比Claude Code原生实现与OpenClaw开源方案
android·前端·后端
Ares-Wang9 小时前
Linux》》systemd 、service、systemctl daemon-reload、systemctl restart docker
linux·运维·docker
Jagger_9 小时前
周末和AI肝了两天,终于知道:为什么要把AI当做实习生
前端
weixin_456164839 小时前
vue3 子组件向父组件传参
前端·vue.js
沉鱼.449 小时前
第十二届题目
java·前端·算法
Setsuna_F_Seiei9 小时前
CocosCreator 游戏开发 - 多维度状态机架构设计与实现
前端·cocos creator·游戏开发
Bigger10 小时前
CodeWalkers:让 AI 助手化身桌面宠物,陪你敲代码的赛博伙伴!
前端·app·ai编程
阿拉斯攀登11 小时前
从入门到实战:CMake 与 Android JNI/NDK 开发全解析
android·linux·c++·yolo·cmake
cyclv11 小时前
无网络地图展示轨迹,地图瓦片下载,绘制管线
前端·javascript