使用 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

相关推荐
黄筱筱筱筱筱筱筱1 小时前
LINUX-防火墙
linux·服务器·网络
сокол1 小时前
【网安-Web渗透测试-靶场系列】AWD-Platform(ctf-hub)
linux·服务器·ubuntu·网络安全·docker
utf8mb4安全女神2 小时前
Linux系统服务相关命令【定时任务设置】【任务进程管理】【防火墙区域应用】
linux·运维·服务器
不吃土豆的马铃薯5 小时前
Spdlog 进阶:日志基本控制、日志格式控制、异步记录器
linux·服务器·开发语言·前端·c++
疯狂成瘾者5 小时前
常见的 Linux 版本
linux·运维·服务器
szxinmai主板定制专家5 小时前
基于ZYNQ MPSOC图像采集与压缩系统总体设计方案
linux·arm开发·人工智能·嵌入式硬件·fpga开发
liulilittle6 小时前
TCP UCP:基于卡尔曼滤波的BBR增强型拥塞控制算法
linux·网络·c++·tcp/ip·算法·c·通讯
tianrun12346 小时前
Ubuntu 24.04 安装 Fcitx5 + Rime + 搜狗词库(替代 IBus 与 Linux 搜狗输入法)
linux·运维·ubuntu
wxytxdy6 小时前
通过猜数字游戏学习Shell脚本的分支、循环编写
linux·学习
YIN_尹7 小时前
【Linux 系统编程】手撕一个简易版的shell命令行解释器
android·linux·运维