游乐游手机版
首页/编程语言/文章详情

Ubuntu下Node.js版本如何升级

时间:2026-05-04 20:31
Ubuntu 下升级 Node js 的实用方法 在 Ubuntu 上管理 Node js 版本,是开发者绕不开的日常。面对不同的项目需求,是追求稳定还是尝鲜新特性?别担心,下面这几种主流方法,总有一款适合你。 方法一 使用 NVM 进行多版本管理(推荐) 要说灵活,NVM(Node Version

Ubuntu 下升级 Node.js 的实用方法

Ubuntu下Node.js版本如何升级

在 Ubuntu 上管理 Node.js 版本,是开发者绕不开的日常。面对不同的项目需求,是追求稳定还是尝鲜新特性?别担心,下面这几种主流方法,总有一款适合你。

方法一 使用 NVM 进行多版本管理(推荐)

要说灵活,NVM(Node Version Manager)绝对是首选。它允许你在同一台机器上安装和切换多个 Node.js 版本,彼此隔离,互不影响,特别适合多项目并行开发和团队协作。

  • 安装或更新 NVM(Node Version Manager):
    • 执行安装脚本并加载到当前会话:
      curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
      source ~/.bashrc
      # 如使用 zsh 则执行:source ~/.zshrc
  • 查看并安装目标版本:
    nvm ls-remote # 查看远程可用版本
    nvm install --lts # 安装最新 LTS
    nvm install 22 # 安装指定主版本(示例:22)
    nvm install 18.18.2 # 安装精确版本(示例)
  • 切换与使用:
    nvm use --lts # 临时使用 LTS
    nvm use 22 # 临时使用指定版本
    nvm alias default 22 # 设置默认版本,新终端自动生效
  • 验证:
    node -v
    npm -v

方法二 使用 NodeSource 的 APT 仓库升级(系统级)

如果你追求的是系统级的统一和简洁,那么通过 NodeSource 的官方 APT 仓库来安装,是个不错的思路。这种方法适合生产环境,或者你希望整个系统只使用一个确定的版本。

  • 更新索引并添加 NodeSource 仓库(以 Node.js 22.x 为例,其他版本将 22.x 替换为目标主版本):
    sudo apt update
    curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
  • 安装或升级 nodejs(此操作会替换旧版本):
    sudo apt install -y nodejs
  • 验证:
    node -v
    npm -v

值得注意的是,如果你想从旧版本进行一个干净的升级,可以先执行 sudo apt remove --purge nodejs npm 彻底移除旧版,然后再安装新版本。

方法三 使用 n 或 fnm 等版本管理工具

除了 NVM,社区里还有其他轻量级的选择,比如 nfnm。它们同样支持多版本切换,在某些场景下可能更符合你的使用习惯。

  • 使用 n(需已安装 Node.js 与 npm):
    sudo npm install -g n
    n lts # 安装最新 LTS
    n 22 # 安装指定主版本
    n # 交互式选择已安装版本
    sudo n lts # 在部分系统上可能需要 sudo 写入 /usr/local
  • 使用 fnm(跨平台、速度快):
    curl -fsSL https://fnm.vercel.app/install | bash
    source ~/.bashrc
    fnm install --lts
    fnm use --lts
    fnm default 22

简单来说,nfnm 都是优秀的版本管理工具,适合在 Linux 或 macOS 上作为现有环境的补充或替代方案。

升级后的兼容性与最佳实践

版本升级成功只是第一步,确保项目稳定运行才是关键。这里有几个小贴士:

  • 在项目中固定版本: 强烈建议在项目根目录创建一个 .nvmrc 文件(例如写入 22lts/*)。这样,进入项目目录后,只需运行 nvm use,就能自动切换到指定版本,确保团队成员和 CI/CD 环境的一致性。
  • 全局包迁移: 切换 Node 主版本后,全局安装的包不会自动跟随。一个可行的迁移思路是:
    npm list -g --depth=0 > global-before.txt
    # 切换 Node 版本后
    npm install -g $(cat global-before.txt | awk '{print $2}')
  • 验证与回退: 升级后,别忘了用 node -vnpm -v 确认版本,并跑一遍你的项目测试。万一出现兼容性问题也别慌,使用 nvm use <旧版本>fnm use <旧版本> 可以快速回退到之前的稳定状态。
来源:https://www.yisu.com/ask/63059250.html
上一篇vsftp与FileZilla:哪个客户端更好用 下一篇Node.js在Ubuntu中如何实现并发
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
RecyclerView不显示内容的常见原因及修复
编程语言 · 2026-07-07

RecyclerView不显示内容的常见原因及修复

RecyclerView无数据显示,常见原因为Adapter的getItemCount()返回0。修复方法是将硬编码的0改为动态返回数据大小,如contacts size()。增强版Adapter需实现空安全及刷新支持。其他检查点包括设置布局管理器、避免RecyclerView高度为wrap_content、确保Item布局宽高合理及数据非空验证。

Python一行代码读取多种类型输入
编程语言 · 2026-07-07

Python一行代码读取多种类型输入

使用`map(call,(int,str,int),input() split())`可一行代码解析混合类型输入,实现类型自动转换,比列表推导式更简洁。输入字段数量需与类型元组严格一致,支持封装为`read_types`函数复用。

Java中高效操作对象集合:避免无意义的Map构建
编程语言 · 2026-07-07

Java中高效操作对象集合:避免无意义的Map构建

直接遍历对象集合并访问嵌套字段执行操作,时间复杂度O(n)且无额外内存开销。先构建Map再遍历则增加哈希表初始化、键值插入和二次迭代消耗,数据量大时性能差距显著,应避免此类功能冗余。

BoxLayout仅居中一个组件其余默认对齐的方法
编程语言 · 2026-07-07

BoxLayout仅居中一个组件其余默认对齐的方法

在Swing的BoxLayout(Y_AXIS)中,setAlignmentX无法单独居中组件,因为该布局下所有组件的对齐由容器统一管理。三种可靠方案:嵌套JPanel通过分组隔离可分别设置左对齐和居中;GridBagLayout可独立控制每个组件的对齐方式;RelativeLayout允许组件单独设置其对齐方式。

Avro枚举兼容性:新增值失败原因与正确演进实践
编程语言 · 2026-07-07

Avro枚举兼容性:新增值失败原因与正确演进实践

Avro枚举向后兼容依赖二进制索引映射,JSON序列化因绕过索引机制导致新增符号失败;default仅对字段缺失生效,无法处理未知符号。演进需在末尾追加符号并采用二进制格式,推荐启用SchemaRegistry确保兼容。