Linux

無法在 RHEL 6.x 上解除安裝錯誤版本的 Erlang

  • March 23, 2018

問題

我正在設置一個 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 並且它似乎可以工作。但是,當我嘗試安裝較新版本時,它說明了衝突,然後我找到了上述目錄。

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 安裝事務的一部分安裝的軟體包。

或者,在這種情況下,您可能只使用yum list installed | grep erlang並刪除這些包來獲取已安裝的 erlang 組件列表。

引用自:https://serverfault.com/questions/854466