问题
我正在设置 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