无法在 RHEL 6.x 上卸载错误版本的 Erlang

无法在 RHEL 6.x 上卸载错误版本的 Erlang

问题

我正在设置 RHEL 6.X 服务器来容纳我的 RabbitMQ 测试环境。我需要安装 Erlange 16 或更高版本才能与最新版本的 RabbitMQ(我相信是 3.6.x)正常工作。但是,我目前在系统上有 Erlang 14。我尝试通过 yum 将其删除,但 yum 说它未安装。

yum remove erlang

但是当我跑步时

$ erl -v

我得到以下

Erlang R14B04 (erts-5.8.5) [source] [64-bit] [rq:1] [async-threads:0] [kernel-poll:false]

Eshell V5.8.5  (abort with ^G)

并且存在一个 erlang 目录

/usr/lib64/erlang/

包含以下子目录

bin  erts-5.8.5  lib  man  releases  usr

我应该如何卸载此版本的 Erlang 以便安装新版本?以下信息可能会有所帮助。在第一次成功安装旧版本后,我确实运行了 yum remove,它似乎有效。但是,当我尝试安装较新版本时,它显示有冲突,然后我找到了上述目录。

答案1

erlang 由许多 RPM 包组成,当你执行 时,它们会作为依赖项自动安装yum install erlang。其中一个包包含该erl脚本。

但是,当您这样做时,yum remove erlang附加软件包不会被自动删除。

您可以通过查看 yum 的历史记录来删除所有软件包(使用命令yum history list- 请参阅https://unix.stackexchange.com/questions/303754/how-to-remove-all-installed-dependent-packages-while-removing-a-package-in-cento了解更多详细信息)并删除了作为 Erlang 安装事务的一部分安装的软件包。

或者,在这种情况下,您可能只需获取已安装的 Erlang 组件列表yum list installed | grep erlang并删除这些包。

答案2

我也遇到了同样的问题。yum list installed | grep erlang显示已安装的 Erlang 包,然后可以使用yum remove erlang-*

答案3

通过 yum 卸载 erlang 需要这样做:首先,通过

yum 列表已安装 | grep erlang-erts

看看你的全名是什么

yum 删除 erlang-erts.x86_64

它应该从 yum 中删除 erlang

相关内容