跳至主内容
版本:4.2

Erlang 版本要求

简介

本指南涵盖 Erlang/OTP 版本要求、Erlang 版本支持策略、RabbitMQ/Erlang 兼容性矩阵、特定版本说明以及获取最新 Erlang/OTP 版本的方法。

警告

Erlang 28 在 RabbitMQ 4.2.x 中得到部分支持:运行 Khepri 的集群升级在 Erlang 28 中存在直接相关的已知问题,因为其进行了破坏性更改。

支持的 Erlang 版本策略

RabbitMQ 通常支持最近两个 Erlang 发行系列

在每年 5 月至 8 月之间,新的主要 Erlang/OTP 版本发布后的几个月过渡期内,最新系列不会立即获得支持,而前一个最旧的系列可能会在最近两个系列之外再额外支持几个月。

目前完全支持的系列是 Erlang 27.x26.x

Erlang 28 支持

Erlang 28 在 RabbitMQ 4.2.x 中得到部分支持:运行 Khepri 的集群升级在 Erlang 28 中存在直接相关的已知问题,因为其进行了破坏性更改。

Erlang 27 支持

从 RabbitMQ 4.0.4 开始支持 Erlang 27。

Erlang 26 支持

从 RabbitMQ 3.12.0 开始支持 Erlang 26。

RabbitMQ 和 Erlang/OTP 兼容性矩阵

下表提供了目前支持的 RabbitMQ 发行系列的 Erlang 兼容性矩阵。对于已达到生命周期结束的 RabbitMQ 版本,请参阅不受支持的系列兼容性矩阵

RabbitMQ 版本最低要求的 Erlang/OTP最高支持的 Erlang/OTP备注
  • 4.2.0
  • 26.2
  • 27.x
  • Erlang 28 在 RabbitMQ 4.2.x 中得到部分支持:运行 Khepri 的集群升级在 Erlang 28 中存在直接相关的已知问题,因为其进行了破坏性更改。

  • 4.1.5
  • 4.1.4
  • 4.1.3
  • 4.1.2
  • 4.1.1
  • 4.1.0
  • 4.0.9
  • 4.0.8
  • 4.0.7
  • 4.0.6
  • 4.0.5
  • 4.0.4
  • 26.2
  • 27.x
  • RabbitMQ 版本 4.2.0 之前的版本不支持 Erlang 28。

  • 从 4.0.4 版本开始,4.0.x 发行系列与 Erlang 27 兼容。

  • 4.0.3
  • 4.0.2
  • 4.0.1
  • 26.2
  • 26.2.x
  • 4.0 发行系列与 Erlang 26.2 兼容。

  • 重要

    RabbitMQ 版本 4.0.4 之前的版本与 Erlang 27 不兼容。

  • 3.13.7
  • 3.13.6
  • 3.13.5
  • 3.13.4
  • 3.13.3
  • 3.13.2
  • 3.13.1
  • 3.13.0
  • 26.0
  • 26.2.x
  • 3.12.13
  • 3.12.12
  • 3.12.11
  • 3.12.10
  • 25.0
  • 26.2.x
  • 3.12.9
  • 3.12.8
  • 3.12.7
  • 3.12.6
  • 3.12.5
  • 25.0
  • 26.1.x
  • 3.12.4
  • 3.12.3
  • 3.12.2
  • 3.12.1
  • 3.12.0
  • 25.0
  • 26.0.x
  • 3.12 发行系列与 Erlang 26 兼容。

  • Erlang 对 OpenSSL 3 的支持被认为足够成熟,可用于生产。

  • 3.11.28
  • 3.11.27
  • 3.11.26
  • 3.11.25
  • 3.11.24
  • 3.11.23
  • 3.11.22
  • 3.11.21
  • 3.11.20
  • 3.11.19
  • 3.11.18
  • 3.11.17
  • 3.11.16
  • 3.11.15
  • 3.11.14
  • 3.11.13
  • 3.11.12
  • 3.11.11
  • 3.11.10
  • 3.11.9
  • 3.11.8
  • 3.11.7
  • 3.11.6
  • 3.11.5
  • 3.11.4
  • 3.11.3
  • 3.11.2
  • 3.11.1
  • 3.11.0
  • 25.0
  • 25.3.x
  • 从 RabbitMQ 3.12.0 开始支持 Erlang 26。

  • 截至 Erlang 25.1,Erlang 对 OpenSSL 3.0 的支持被认为足够成熟,可用于生产。

  • Erlang 25 的 25.0.2 版本之前版本受到CVE-2022-37026 的影响,这是一个严重性为临界(CVSS 3.x Base Score: 9.8)的 CVE。

作为指导,建议使用每个支持的 Erlang/OTP 系列中最新的次要版本和补丁版本。

获取最新的 Erlang 版本

可以从多个来源获取最新版本

在 Debian 或 Ubuntu 上安装 Erlang/OTP

标准的 Debian 和 Ubuntu 仓库提供 Erlang/OTP,但其被大量分割成数十个软件包。此外,除非系统启用了 backport 仓库,否则版本通常会非常旧。有关必需的软件包、依赖项和备用 apt 仓库的更多信息,请参阅Debian 和 Ubuntu 安装指南

在 RHEL、CentOS 和 Fedora 上安装 Erlang/OTP

有多个 Erlang/OTP 的 RPM 包可用。推荐选项是 RabbitMQ 团队的零依赖 Erlang RPM。它密切遵循最新的 Erlang/OTP 补丁版本发布计划。

有关可用选项的更多信息,请参阅CentOS、RHEL 和 Fedora 安装指南

集群中的 Erlang 版本

强烈建议在所有集群节点上使用相同的主版本 Erlang(例如 25.x)。

当节点加入集群时,RabbitMQ 会检查 Erlang 及其分布式库的内部协议版本,如果检测到潜在不兼容的组合,则会拒绝加入。

在合理长的升级时间窗口之外,建议所有节点使用完全相同的 Erlang 版本。

从源代码构建 Erlang

如果给定的操作系统没有足够新的 Erlang 包,Erlang/OTP 可以从源代码构建。这需要一个满足 Erlang 构建依赖项的构建环境,例如现代版本的 OpenSSL。

kerl 使得从源代码构建 Erlang/OTP 版本(包括 GitHub 的特定标签)变得更加方便。

较旧的 RabbitMQ 和 Erlang 版本

不受支持的 RabbitMQ 系列

不受支持的 RabbitMQ 系列最低要求的 Erlang/OTP最高支持的 Erlang/OTP备注
  • 3.10.25
  • 3.10.24
  • 3.10.23
  • 3.10.22
  • 3.10.21
  • 3.10.20
  • 3.10.19
  • 24.3.4.8
  • 25.3.x
  • 24.3 是 Erlang 24 中唯一维护(更新)的版本系列。

  • 截至 Erlang 25.1,Erlang 对 OpenSSL 3.0 的支持被认为足够成熟,可供生产使用。

  • Erlang 25 的 25.0.2 版本之前版本和 Erlang 24 的 24.3.4.2 版本之前版本受到CVE-2022-37026 的影响,这是一个严重性为临界(CVSS 3.x Base Score: 9.8)的 CVE。

  • 3.10.18
  • 3.10.17
  • 3.10.16
  • 3.10.14
  • 24.3
  • 25.2
  • 24.3 是 Erlang 24 中唯一维护(更新)的版本系列。

  • 截至 Erlang 25.1,Erlang 对 OpenSSL 3.0 的支持被认为足够成熟,可供生产使用。

  • Erlang 25 的 25.0.2 版本之前版本和 Erlang 24 的 24.3.4.2 版本之前版本受到CVE-2022-37026 的影响,这是一个严重性为临界(CVSS 3.x Base Score: 9.8)的 CVE。

  • 3.10.13
  • 3.10.12
  • 3.10.11
  • 3.10.10
  • 3.10.9
  • 3.10.8
  • 24.2
  • 25.2
  • 截至 Erlang 25.1,Erlang 对 OpenSSL 3.0 的支持被认为足够成熟,可供生产使用。

  • Erlang 25 的 25.0.2 版本之前版本和 Erlang 24 的 24.3.4.2 版本之前版本受到CVE-2022-37026 的影响,这是一个严重性为临界(CVSS 3.x Base Score: 9.8)的 CVE。

  • 3.10.7
  • 3.10.6
  • 3.10.5
  • 23.2
  • 25.2
  • Erlang 25 是推荐的版本系列。

  • Erlang 25 的 25.0.2 版本之前版本和 Erlang 24 的 24.3.4.2 版本之前版本受到CVE-2022-37026 的影响,这是一个严重性为临界(CVSS 3.x Base Score: 9.8)的 CVE。

  • Erlang 23 的支持已于 2022 年 7 月 31 日停止。

  • 3.10.4
  • 3.10.2
  • 3.10.1
  • 3.10.0
  • 23.2
  • 24.3
  • Erlang 24.3 是推荐的版本系列。

  • Erlang 23 的支持已于 2022 年 7 月 31 日停止。

  • 3.9.29
  • 3.9.28
  • 24.3.4.2
  • 25.2
  • 24.3 是 Erlang 24 中唯一维护(更新)的版本系列。

  • 截至 Erlang 25.1,Erlang 对 OpenSSL 3.0 的支持被认为足够成熟,可供生产使用。

  • Erlang 25 的 25.0.2 版本之前版本和 Erlang 24 的 24.3.4.2 版本之前版本受到CVE-2022-37026 的影响,这是一个严重性为临界(CVSS 3.x Base Score: 9.8)的 CVE。

  • 3.9.27
  • 3.9.26
  • 3.9.25
  • 3.9.24
  • 3.9.23
  • 3.9.22
  • 24.2
  • 24.3
  • Erlang 24 的 24.3.4.2 版本之前版本受到CVE-2022-37026 的影响,这是一个严重性为临界(CVSS 3.x Base Score: 9.8)的 CVE。

  • Erlang 23 的支持已于 2022 年 7 月 31 日停止。

  • 3.9.21
  • 3.9.20
  • 3.9.19
  • 3.9.18
  • 3.9.17
  • 3.9.16
  • 3.9.15
  • 23.3
  • 24.3
  • Erlang 24.3 引入了 LDAP 客户端的更改,这对在早期版本(包括 RabbitMQ)上编译的项目是破坏性的。RabbitMQ 3.9.15 是第一个支持 Erlang 24.3 的版本。

  • Erlang 23 的支持已于 2022 年 7 月 31 日停止。

  • 3.9.14
  • 3.9.13
  • 3.9.12
  • 3.9.11
  • 3.9.10
  • 3.9.9
  • 3.9.8
  • 3.9.7
  • 3.9.6
  • 3.9.5
  • 3.9.4
  • 3.9.3
  • 3.9.2
  • 3.9.1
  • 3.9.0
  • 23.2
  • 24.2
  • 3.8.35
  • 3.8.34
  • 3.8.33
  • 3.8.32
  • 3.8.31
  • 3.8.30
  • 3.8.29
  • 23.2
  • 24.3
  • RabbitMQ 3.8 于 2019 年 10 月发布,并于 2022 年 7 月 31 日达到生命周期结束,我们强烈不建议使用它。
  • Erlang 24.3 引入了 LDAP 客户端的更改,这对在早期版本(包括 RabbitMQ)上编译的项目是破坏性的。RabbitMQ 3.8.29 是 3.8.x 系列中第一个支持 Erlang 24.3 的版本。

  • 3.8.28
  • 3.8.27
  • 3.8.26
  • 3.8.25
  • 3.8.24
  • 3.8.23
  • 3.8.22
  • 3.8.21
  • 3.8.20
  • 3.8.19
  • 3.8.18
  • 3.8.17
  • 3.8.16
  • 23.2
  • 24.2
  • RabbitMQ 3.8 于 2019 年 10 月发布,并于 2022 年 7 月 31 日达到生命周期结束,我们强烈不建议使用它。
  • 3.8.15
  • 3.8.14
  • 3.8.13
  • 3.8.12
  • 3.8.11
  • 3.8.10
  • 3.8.9
  • 22.3
  • 23.x
  • RabbitMQ 3.8 于 2019 年 10 月发布,并于 2022 年 7 月 31 日达到生命周期结束,我们强烈不建议使用它。
  • 3.8.8
  • 3.8.7
  • 3.8.6
  • 3.8.5
  • 3.8.4
  • 21.3
  • 23.x
  • RabbitMQ 3.8 于 2019 年 10 月发布,并于 2022 年 7 月 31 日达到生命周期结束,我们强烈不建议使用它。
  • 3.8.3
  • 3.8.2
  • 3.8.1
  • 3.8.0
  • 21.3
  • 22.x
  • RabbitMQ 3.8 于 2019 年 10 月发布,并于 2022 年 7 月 31 日达到生命周期结束,我们强烈不建议使用它。
  • 3.7.27
  • 3.7.26
  • 3.7.25
  • 3.7.24
  • 3.7.23
  • 3.7.22
  • 3.7.21
  • 3.7.20
  • 3.7.19
  • 21.3
  • 22.x
  • RabbitMQ 3.7 于 2017-11-28 发布,并于 2020-09-30 达到生命周期结束,我们强烈不建议使用它。
  • 3.7.18
  • 3.7.17
  • 3.7.16
  • 3.7.15
  • 20.3
  • 22.x
  • RabbitMQ 3.7 于 2017-11-28 发布,并于 2020-09-30 达到生命周期结束,我们强烈不建议使用它。
  • 3.7.14
  • 3.7.13
  • 3.7.12
  • 3.7.11
  • 20.3
  • 21.x
  • RabbitMQ 3.7 于 2017-11-28 发布,并于 2020-09-30 达到生命周期结束,我们强烈不建议使用它。
  • 3.7.10
  • 3.7.9
  • 3.7.8
  • 3.7.7
  • 19.3
  • 21.x
  • RabbitMQ 3.7 于 2017-11-28 发布,并于 2020-09-30 达到生命周期结束,我们强烈不建议使用它。
  • 3.7.6
  • 3.7.5
  • 3.7.4
  • 3.7.3
  • 3.7.2
  • 3.7.1
  • 3.7.0
  • 19.3
  • 20.x
  • RabbitMQ 3.7 于 2017-11-28 发布,并于 2020-09-30 达到生命周期结束,我们强烈不建议使用它。
  • 3.6.16
  • 3.6.15
  • 19.3
  • 20.3.x
  • RabbitMQ 3.6 于 2015-12-22 发布,并于 2018-05-31 达到生命周期结束,我们强烈不建议使用它。
  • 3.6.14
  • 3.6.13
  • 3.6.12
  • 3.6.11
  • R16B03
  • 20.1.x
  • RabbitMQ 3.6 于 2015-12-22 发布,并于 2018-05-31 达到生命周期结束,我们强烈不建议使用它。
  • 3.6.10
  • 3.6.9
  • 3.6.8
  • 3.6.7
  • 3.6.6
  • 3.6.5
  • 3.6.4
  • R16B03
  • 19.3.x
  • RabbitMQ 3.6 于 2015-12-22 发布,并于 2018-05-31 达到生命周期结束,我们强烈不建议使用它。
  • 3.6.3
  • 3.6.2
  • 3.6.1
  • 3.6.0
  • R16B03
  • 18.3.x
  • RabbitMQ 3.6 于 2015-12-22 发布,并于 2018-05-31 达到生命周期结束,我们强烈不建议使用它。
  • 3.5.x
  • R14B04
  • 17.5.x
  • RabbitMQ 3.5 于 2015-03-11 发布,并于 2016-10-31 达到生命周期结束,我们强烈不建议使用它。
  • 3.4.x
  • R13B03
  • 16B03
  • RabbitMQ 3.4 于 2014-10-21 发布,并于 2015-10-31 达到生命周期结束,我们强烈不建议使用它。

支持 R16B03 的最后一个版本

如果您绝对必须使用旧版 Erlang,RabbitMQ 3.6.14 是与 R16B03 兼容的最新版本。

支持 R13B03 的最后一个版本

如果您绝对必须使用旧版 Erlang,RabbitMQ 3.5.8 是与 R13B03 兼容的最新版本。

© . This site is unofficial and not affiliated with VMware.