Ubuntu 22.04上升级Node.js版本

在Ubuntu 22.04上升级Node.js版本有几种方法,推荐使用NVM(Node Version Manager),因为它可以让你轻松管理多个Node.js版本。

方法1: 使用NVM(推荐)

1. 安装NVM

bash 复制代码
# 下载并安装NVM
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash

# 或者使用wget
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash

2. 重启终端或重新加载配置

bash 复制代码
source ~/.bashrc
# 或者
exec bash

3. 验证NVM安装

bash 复制代码
nvm --version

4. 查看可用的Node.js版本

bash 复制代码
# 查看所有可用版本
nvm list-remote

# 查看LTS版本
nvm list-remote --lts

5. 安装和使用Node.js

bash 复制代码
# 安装最新的LTS版本
nvm install --lts

# 安装特定版本(比如18.19.0)
nvm install 18.19.0

# 使用特定版本
nvm use 18.19.0

# 设置默认版本
nvm alias default 18.19.0

# 查看已安装的版本
nvm list

方法2: 使用NodeSource PPA

1. 添加NodeSource仓库

bash 复制代码
# 对于Node.js 20.x
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -

# 对于Node.js 18.x
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -

2. 安装Node.js

bash 复制代码
sudo apt-get update
sudo apt-get install -y nodejs

方法3: 使用Snap

bash 复制代码
# 安装最新版本
sudo snap install node --classic

# 安装特定版本
sudo snap install node --classic --channel=18/stable

检查安装结果

bash 复制代码
# 检查Node.js版本
node --version

# 检查npm版本
npm --version

卸载旧版本(如果需要)

如果你之前通过apt安装了Node.js:

bash 复制代码
sudo apt-get remove nodejs npm
sudo apt-get autoremove

如果通过snap安装:

bash 复制代码
sudo snap remove node

推荐配置

安装完成后,建议设置npm的全局包安装路径:

bash 复制代码
# 创建全局包目录
mkdir ~/.npm-global

# 配置npm使用新目录
npm config set prefix '~/.npm-global'

# 添加到PATH(在~/.bashrc中)
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

验证安装

bash 复制代码
node --version
npm --version
npx --version

推荐使用NVM,因为它允许你:

  • 轻松切换不同的Node.js版本
  • 为不同项目使用不同版本
  • 避免权限问题
  • 更好的版本管理
相关推荐
IMPYLH8 分钟前
Linux 的时间为什么会被拨回去
linux·运维·服务器
叼烟扛炮2 小时前
[Git 实战] 学习笔记:从生成 SSH 密钥到解决 TortoiseGit 推送报错全指南
linux·运维·笔记·git·学习
xbzb2 小时前
OpenStack 网络管理(理论):Linux 网络虚拟化是 Neutron 的地基
linux·服务器·网络·openstack·network·neutron
Android系统攻城狮4 小时前
Linux FFmpeg深度解析之avcodec_flush_buffers调用流程与实战(十九)
linux·运维·服务器·ffmpeg·车载音视频·ffmpeg音视频进阶
水饺编程5 小时前
第2章:Linux 基础,解压缩【.tar.bz2】压缩包文件
linux·c语言·汇编
Zevalin爱灰灰5 小时前
Linux入门第二部分(ARM裸机篇) 第二章 Cortex-A7 MPCore架构与ARM汇编基础
linux·汇编·arm开发·嵌入式
倔强的石头1065 小时前
【Linux指南】进程通信系列(七):System V 信号量 —— 同步互斥的内核原语
linux·运维·服务器
GeW5 小时前
从"补短板"到"强优势"Linux与数据库认证成为产业跃迁人才支点
linux·数据库
Hone6 小时前
我把「自动发文章到掘金」做成了一个 Agent 技能:juejin-skills
node.js·ai编程·前端工程化
PellyKoo7 小时前
【Ubuntu】GTX 1080 Ti 显卡占用为0但功率高达60W的排查与解决
linux·运维·ubuntu