当前位置: 首页 > backend >正文

Ubuntu 22.04上升级Node.js版本

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

方法1: 使用NVM(推荐)

1. 安装NVM

# 下载并安装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. 重启终端或重新加载配置

source ~/.bashrc
# 或者
exec bash

3. 验证NVM安装

nvm --version

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

# 查看所有可用版本
nvm list-remote# 查看LTS版本
nvm list-remote --lts

5. 安装和使用Node.js

# 安装最新的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仓库

# 对于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

sudo apt-get update
sudo apt-get install -y nodejs

方法3: 使用Snap

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

检查安装结果

# 检查Node.js版本
node --version# 检查npm版本
npm --version

卸载旧版本(如果需要)

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

sudo apt-get remove nodejs npm
sudo apt-get autoremove

如果通过snap安装:

sudo snap remove node

推荐配置

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

# 创建全局包目录
mkdir ~/.npm-global# 配置npm使用新目录
npm config set prefix '~/.npm-global'# 添加到PATH(在~/.bashrc中)
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

验证安装

node --version
npm --version
npx --version

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

  • 轻松切换不同的Node.js版本
  • 为不同项目使用不同版本
  • 避免权限问题
  • 更好的版本管理
http://www.xdnf.cn/news/8042.html

相关文章:

  • Web安全与漏洞挖掘
  • C++ inline 内联函数
  • 【PhysUnits】7 类型整数基本结构体(basic.rs)
  • 掩膜合并代码
  • 力扣算法---哈希表总结篇
  • 【无标题】Spring AI 1.0 正式发布!核心内容和智能体详解
  • upload-labs通关笔记-第15关 文件上传之getimagesize绕过(图片马)
  • C语言判断素数(附带源码和解析)
  • 第十三届蓝桥杯国赛PythonA题解
  • 贪心算法题目合集2
  • 链表day3
  • Linux电源管理——PSCI初始化流程和多核启动流程
  • 对于final、finally和finalize不一样的理解
  • Java基于SSM的数学辅导微信小程序【附源码、文档说明】
  • 招投标项目记录
  • 一键二次元风格转换:风格转换 ComfyUI 使用教学--
  • 逆向学习笔记1
  • 【性能提升300%】Function Calling高并发实践:gRPC优化+缓存策略+容错设计​
  • 2024正式版企业级在线客服系统源码+语音定位+快捷回复+图片视频传输+安装教程
  • id分页遍历数据漏行问题
  • 猎板PCB如何以高可靠方案护航大国重器?
  • 发布Chrome浏览器插件的几种方法
  • C++进阶--C++11
  • C++ stack对象创建、入栈、获取栈顶
  • MySQL高可用实战:PXC集群原理与部署全解析,让数据库永不宕机
  • vue页面实现table动态拆分列功能
  • 江科大TIM定时器hal库实现
  • 自定义属性面板开发指南:公开属性声明、监听回调与基础类型配置
  • Linux:缓冲区
  • BigFoot (DBM) Deadly Boss Mods