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版本
  • 为不同项目使用不同版本
  • 避免权限问题
  • 更好的版本管理
相关推荐
IT WorryFree10 分钟前
飞塔防火墙与第三方设备进行IPSEC故障诊断期间,用户可能会观察到以下错误:
linux·服务器·网络
12345,catch a tiger23 分钟前
虚拟机ubuntu安装Vmware Tools
linux·运维·ubuntu
凉、介44 分钟前
别再把 PCIe 的 inbound/outbound、iATU 和 eDMA 混为一谈
linux·笔记·学习·嵌入式·pcie
辰风沐阳1 小时前
OpenClaw 安装教程(Ubuntu 24.04 Desktop)
linux·ubuntu
嘿嘿嘿x31 小时前
Linux记录过程
linux·开发语言
Bruce1232 小时前
openclaw学习日常(一)openclaw在WSL中搭建
人工智能·node.js
程序猿编码2 小时前
一个授予普通进程ROOT权限的Linux内核级后门:原理与实现深度解析
linux·运维·服务器·内核·root权限
小夏子_riotous3 小时前
openstack的使用——9. 密钥管理服务Barbican
linux·运维·服务器·系统架构·centos·云计算·openstack
六点的晨曦4 小时前
VMware安装Ubuntu的记录
linux·ubuntu
w6100104664 小时前
CKA-2026-Service
linux·服务器·网络·service·cka