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版本
  • 为不同项目使用不同版本
  • 避免权限问题
  • 更好的版本管理
相关推荐
前端付豪1 天前
Nest 项目小实践之注册登陆
前端·node.js·nestjs
天蓝色的鱼鱼1 天前
Node.js 中间层退潮:从“前端救星”到“成本噩梦”
前端·架构·node.js
codingWhat1 天前
uniapp 多地区、多平台、多环境打包方案
前端·架构·node.js
小p1 天前
nodejs学习: 服务器资源CPU、内存、硬盘
node.js
崔小汤呀1 天前
最全的docker安装笔记,包含CentOS和Ubuntu
linux·后端
何中应1 天前
vi编辑器使用
linux·后端·操作系统
何中应1 天前
Linux进程无法被kill
linux·后端·操作系统
何中应1 天前
rm-rf /命令操作介绍
linux·后端·操作系统
Mr_li1 天前
手摸手,教你如何优雅的书写 NestJS 服务配置
node.js·nestjs
何中应1 天前
Linux常用命令
linux·操作系统