在CentOS 6这个已经进入生命末期的经典操作系统上安装Erlang,虽然不再是主流选择,但在维护一些遗留系统或特定应用场景下仍有必要,由于CentOS 6的官方源已停止维护,直接使用yum安装Erlang会遇到版本过旧或依赖缺失的问题,我们需要采用更可靠的方法来获取一个稳定可用的Erlang环境,以下将详细介绍一种目前最为推荐的安装方案,并对其他方法进行对比。

推荐方案:通过RabbitMQ官方仓库安装
RabbitMQ团队为了方便用户,提供了包含其测试过的稳定版Erlang的软件仓库,这是在CentOS 6上获取一个相对较新且稳定版本的Erlang的最佳途径,操作简单且可靠性高。
第一步:系统准备与更新
在开始任何安装之前,建议先更新系统的软件包列表,并安装必要的工具。
sudo yum update -y sudo yum install -y wget
第二步:导入仓库密钥
为了确保从仓库下载的软件包是安全且未经篡改的,我们需要导入RabbitMQ的GPG密钥。
rpm --import https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc rpm --import https://packagecloud.io/rabbitmq/erlang/gpgkey
第三步:添加Erlang仓库文件
创建一个新的仓库配置文件/etc/yum.repos.d/rabbitmq_erlang.repo,并将以下内容写入其中,这个文件告诉yum包管理器去哪里查找Erlang及其依赖。
sudo tee /etc/yum.repos.d/rabbitmq_erlang.repo <<EOF
[rabbitmq_erlang]
name=rabbitmq_erlang
baseurl=https://packagecloud.io/rabbitmq/erlang/el/6/\$basearch
repo_gpgcheck=1
gpgcheck=1
enabled=1
gpgkey=https://packagecloud.io/rabbitmq/erlang/gpgkey
https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
[rabbitmq_erlang-source]
name=rabbitmq_erlang-source
baseurl=https://packagecloud.io/rabbitmq/erlang/el/6/SRPMS
repo_gpgcheck=1
gpgcheck=0
enabled=0
gpgkey=https://packagecloud.io/rabbitmq/erlang/gpgkey
https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
EOF
第四步:安装Erlang
仓库配置完成后,现在可以直接使用yum来安装Erlang了,系统会自动从新添加的RabbitMQ仓库中拉取软件包并解决依赖关系。

yum install erlang -y
安装完成后,可以通过以下命令验证Erlang是否成功安装以及其版本信息。
erl -version
或者进入Erlang的交互式shell:
erl Erlang/OTP 22 [erts-10.7.2] [source] [64-bit] [smp:2:2] [ds:2:2:10] [async-threads:1] [hipe] Eshell V10.7.2 (abort with ^G) 1>
输入halt().即可退出shell。
不同安装方法对比
为了让您更清晰地了解各种方案的优劣,下表对几种主流的安装方法进行了小编总结。
| 方法 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|
| RabbitMQ官方仓库 | 版本较新且稳定,依赖关系处理良好,安装简单 | 依赖第三方源 | 强烈推荐,特别是用于运行RabbitMQ等应用 |
| EPEL仓库 | 官方扩展源,集成度高 | Erlang版本非常陈旧,可能不满足新软件需求 | 对Erlang版本没有要求的旧系统维护 |
| 源码编译安装 | 版本选择极其灵活,可自定义编译选项 | 过程繁琐,耗时较长,需要自行解决所有编译依赖 | 需要特定版本或定制功能的极端场景 |
对于在CentOS 6上安装Erlang,通过RabbitMQ官方仓库是平衡了易用性、稳定性和版本先进性的最佳选择,它避免了直接从源码编译的复杂性,同时获得了远超系统默认源的Erlang版本。

相关问答 (FAQs)
在执行yum install erlang时,提示“GPG密钥验证失败”怎么办?
解答: 这通常是因为系统时间不正确或GPG密钥未正确导入,首先请检查并同步系统时间(ntpdate pool.ntp.org),请确保严格按照第二步的指令,完整无误地导入两个GPG密钥,如果问题依旧,可以尝试在安装命令中临时禁用GPG检查(不推荐作为长期方案):yum install erlang --nogpgcheck,但安装后应排查密钥问题的根源。
如何完全卸载通过此方法安装的Erlang?
解答: 卸载过程同样简单,使用yum的remove命令即可,执行 sudo yum remove erlang 会卸载Erlang主程序及其大部分依赖,为了确保清理干净,您还可以删除之前添加的仓库文件:sudo rm /etc/yum.repos.d/rabbitmq_erlang.repo,这样,系统就恢复到了安装Erlang之前的状态。