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

相关推荐
Thera7774 分钟前
【Linux C++】彻底解决僵尸进程:waitpid(WNOHANG) 与 SA_NOCLDWAIT
linux·服务器·c++
阿梦Anmory9 分钟前
Ubuntu配置代理最详细教程
linux·运维·ubuntu
云姜.23 分钟前
线程和进程的关系
java·linux·jvm
小Tomkk1 小时前
数据库 变更和版本控制管理工具 --Bytebase 安装部署(linux 安装篇)
linux·运维·数据库·ci/cd·bytebase
赌博羊1 小时前
ImportError: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32‘ not found
linux·运维·gnu
木卫二号Coding1 小时前
第七十九篇-E5-2680V4+V100-32G+llama-cpp编译运行+Qwen3-Next-80B
linux·llama
getapi1 小时前
Ubuntu 22.04 服务器的系统架构是否为 amd64 x86_64
linux·服务器·ubuntu
消失的旧时光-19431 小时前
Linux 入门核心命令清单(工程版)
linux·运维·服务器
艾莉丝努力练剑1 小时前
【Linux:文件】Ext系列文件系统(初阶)
大数据·linux·运维·服务器·c++·人工智能·算法
Trouvaille ~2 小时前
【Linux】TCP Socket编程实战(一):API详解与单连接Echo Server
linux·运维·服务器·网络·c++·tcp/ip·socket