使用 nvm(不破坏系统)Linux 上把 Node.js / npm 升级到你指定版本(Node v23.x、npm 10.x)

一、安装nvm

这是开发环境、服务器都最推荐的方式。

1️⃣ 安装 nvm

复制代码
curl -fsSL https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

安装完成后,必须重新加载环境:

复制代码
source ~/.bashrc
# 或
source ~/.zshrc

确认 nvm 可用:

复制代码
nvm -v

2️⃣ 安装需要的 Node 版本

复制代码
nvm install 23

或指定更精确版本:

复制代码
nvm install 23.11.0

3️⃣ 使用该版本(并设为默认)

复制代码
nvm use 23
nvm alias default 23

4️⃣ 验证版本

复制代码
node -v
# v23.11.0

npm -v
# 10.9.2(或更高)

注意:npm 会随 Node 自动安装

如果 npm 不是 10.x,可手动升级:

复制代码
npm install -g npm@10

二、如果不能用 nvm(比如最小系统、产线机)

方案 B:官方二进制包(手动安装)

1️⃣ 下载 Node 官方 Linux 包

复制代码
wget https://nodejs.org/dist/v23.11.0/node-v23.11.0-linux-x64.tar.xz

2️⃣ 解压并安装到 /usr/local

复制代码
sudo tar -xJf node-v23.11.0-linux-x64.tar.xz -C /usr/local/
sudo ln -sf /usr/local/node-v23.11.0-linux-x64 /usr/local/node

3️⃣ 配置环境变量

复制代码
echo 'export PATH=/usr/local/node/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

4️⃣ 验证

复制代码
node -v
npm -v

三、如果你现在系统里已经有旧 Node / npm

查看来源(很重要)

复制代码
which node
which npm

如果是:

  • /usr/bin/node → 系统包

  • ~/.nvm/... → nvm 管理


清理旧系统版本(可选,但推荐)

复制代码
sudo apt remove nodejs npm

⚠️ 不要删除 nvm 安装的版本


四、常见坑(你很可能会遇到)

❌ 升级后版本还是旧的

原因:PATH 顺序错误

解决:

复制代码
echo $PATH

确保:

复制代码
~/.nvm/versions/node/.../bin 在前面

❌ npm 版本没到 10.x

复制代码
npm install -g npm@10

❌ sudo npm 报错

不要 sudo npm(nvm 环境下)


五、快速确认清单(照着做就对)

复制代码
node -v    # v23.11.0
npm -v     # 10.9.2
which node # ~/.nvm/versions/node/...

六、建议(重要)

开发环境:用 nvm
系统服务:用官方二进制包
永远不要混用 apt + nvm

相关推荐
lzx_00210 小时前
Linux 进程(三) 从进程状态到僵尸进程、孤儿进程
linux·服务器
FlightYe12 小时前
音视频修炼之容器与协议(四):RTSP详解
android·linux·ffmpeg·音视频·dash
刘马想放假13 小时前
CANviz 使用指南|Linux 安装、DBC 解码、实时曲线与 J1939 实战
linux·python·websocket
沉默小管14 小时前
我用 NestJS + Nuxt 3 做了个导航站,聊几个踩过的坑
node.js·seo
kloc14 小时前
聊天室项目入口网关子服务的实现
linux·c++
GeW14 小时前
深圳APEC峰会倒计时:数据库与Linux运维的"隐形考场"
linux
梦到啥说啥15 小时前
Linux网络编程:UDP网络协议
linux·网络协议·udp
无足鸟ICT17 小时前
【RHCA+】ipcrm命令(删除IPC资源)
linux
星恒随风17 小时前
MySQL 从零入门(四):表的增删改查与基础查询详解
linux·服务器·数据库·笔记·mysql
dreams_dream19 小时前
微信小程序-使用npm包
微信小程序·小程序·npm