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版本
  • 为不同项目使用不同版本
  • 避免权限问题
  • 更好的版本管理
相关推荐
zhengfei61119 小时前
AutoPentestX – Linux 自动化渗透测试和漏洞报告工具
linux·运维·自动化
我材不敲代码19 小时前
在Linux系统上安装MySQL
linux·运维·服务器
yuezhilangniao19 小时前
阿里云服务器Alibaba Cloud Linux 3 安装Python3.11简明指南
linux·运维·python3.11
程序 代码狂人20 小时前
CentOS7初始化配置操作
linux·运维·开发语言·php
芋圆奶绿,要半t20 小时前
ubuntu20/2204修改系统时间的命令
ubuntu
历程里程碑20 小时前
Linux15 进程二
linux·运维·服务器·开发语言·数据结构·c++·笔记
H Journey20 小时前
Linux su 命令核心用法总结
java·linux·服务器·su
PPPPPaPeR.20 小时前
环 境 变 量
linux·运维·windows
HalvmånEver20 小时前
Linux:线程创建与终止上(线程五)
java·linux·jvm
嵌入小生00720 小时前
双向链表、双向循环链表之间的异同---嵌入式入门---Linux
linux·c语言·数据结构·链表·嵌入式·小白