609

如何从我的系统中删除 RVM(Ruby 版本管理器)?

4

13 回答 13

979

有一个简单的内置命令可以拉取它:

rvm implode

这将删除rvm/目录和其中构建的所有红宝石。为了删除 rvm 的最终痕迹,您还需要删除 rvm gem,如果您安装了它:

gem uninstall rvm

可能有 Homebrew、Apt 或 DNF 安装遗留下来的元素也需要删除。这首先取决于您如何安装它。该清理步骤是可选的,因为 RVM 将不再涉及 Ruby,但可以帮助保持事物井井有条。

如果您对您的内容进行了修改,您PATH可能也想拉取这些内容。检查您的.bashrc,.profile.bash_profile文件等。

您可能还有一个/etc/rvmrc文件,或者您的主目录~/.rvmrc中的一个文件也可能需要删除。

于 2010-08-24T16:38:42.120 回答
60

如果其他答案对您来说没有足够彻底地删除 RVM,RVM 的故障排除页面包含此部分:

如何从我的系统中彻底清除所有 RVM 痕迹,包括系统范围的安装?

这是一个自定义脚本,我们将其命名为cleanout-rvm. 虽然您绝对可以rvm implode作为普通用户使用或rvmsudo rvm implode用于系统范围的安装,但此脚本非常有用,因为它完全脱离 RVM 并在不使用 RVM 本身的情况下清除 RVM,不留任何痕迹。

#!/bin/bash
/usr/bin/sudo rm -rf $HOME/.rvm $HOME/.rvmrc /etc/rvmrc /etc/profile.d/rvm.sh /usr/local/rvm /usr/local/bin/rvm
/usr/bin/sudo /usr/sbin/groupdel rvm
/bin/echo "RVM is removed. Please check all .bashrc|.bash_profile|.profile|.zshrc for RVM source lines and delete
or comment out if this was a Per-User installation."
于 2013-03-08T04:08:31.593 回答
48

使用时implode,您会看到:

Psychologist intervened, cancelling implosion, crisis avoided :)

然后你可能想使用--force

rvm implode --force

然后从以下位置删除 RVM:

rm -rf /usr/local/rvm
sudo rm /etc/profile.d/rvm.sh
sudo rm /etc/rvmrc
sudo rm ~/.rvmrc

检查以下文件并删除或注释掉对 RVM 的引用:

~/.bashrc 
~/.bash_profile 
~/.profile 
~/.zshrc
~/.zlogin

从 /etc/profile 中注释/删除以下行:

 source /etc/profile.d/sm.sh
 source /etc/profile.d/rvm.sh

/etc/profile 是一个只读文件,所以使用:

sudo vim /etc/profile

并在使用 bang 进行更改后写入!

:w!

最后重新登录/重新启动您的终端。

于 2014-08-29T15:39:20.380 回答
18

除了@tadman 的回答,我还删除了/usr/local/bin文件中的包装器/etc/profile.d/rvm

包装器包括:

erb
gem
irb
rake
rdoc
ri
ruby
testrb
于 2011-08-31T00:25:01.020 回答
7

很多人都犯了一个常见的错误,即认为“rvm implode”可以做到这一点。您需要删除任何 .rm 文件的所有痕迹。此外,还需要从根目录手动删除一些内容。确保它被删除,以及你使用它安装的所有 ruby​​ 版本。

于 2013-05-28T10:44:38.193 回答
6

从 /.bash_rc 或 /.zsh_rc 中删除 RVM 加载脚本,然后使用:

rm -rf /.rvm

或者:

rvm implode
于 2012-09-05T15:05:37.173 回答
5

跑:

rvm implode

现在您需要使用以下命令卸载 RVM gem:

gem uninstall rvm

检查您的主目录中是否还有剩余的 RVM 文件,如果是,请删除它们。

转到主目录并列出所有隐藏文件:

ls -a

rm  .rvm
rm  .rvmrc
于 2017-05-10T15:48:11.847 回答
3

请注意,如果您通过 apt-get 安装 RVM,则必须运行一些进一步的步骤rvm implode才能apt-get remove ruby-rvm真正卸载它。

请参阅“在 Ubuntu 上安装 RVM ”。

于 2012-02-10T19:50:51.673 回答
2

如果您env: ruby_executable_hooks: No such file or directory在调用某些 Ruby 包时仍然收到错误消息,这意味着 RVM 在您的$PATH.

运行以下命令以查找有问题的脚本:

grep '#!/usr/bin/env ruby_executable_hooks' /usr/local/bin/*

然后rm是所有的比赛。当然,您必须使用 RVM-free 重新安装所有这些库gem

于 2014-10-09T18:08:46.923 回答
2

对于其他试图修复 PATH 变量的 shell 新手

按照接受的答案中的说明进行操作后,如有必要,请检查并修改您的 PATH 变量:

env | grep PATH 

如果你在任何地方看到“rvm”,你需要弄清楚你在哪里设置 PATH 并修改。我将它设置在 3 个文件中 - 所以请检查以下所有文件:

vim .bashrc  

使用 dd 命令删除文件中引用 rvm 的行。:wq 保存并退出。
source .bashrc“重新加载”

对 .profile 和 .bash_profile 重复这个过程(从 vim 命令开始)

于 2016-08-26T18:04:28.430 回答
0

我正在运行 Ubuntu 19.04 并按照上面的所有说明进行操作。最后,对我有用的是跑步

sudo apt autoremove rvm

现在,当我尝试重新安装 RVM 时,它实际上已经消失了。至少可以说,RVM 是侵入性的。

于 2020-02-24T23:03:06.633 回答
0

根据 RVM 的故障排除文档“如何从系统中彻底清除所有 RVM 痕迹,包括系统范围的安装? ”:

这是一个自定义脚本,我们将其命名为“cleanout-rvm”。虽然您绝对可以rvm implode作为普通用户使用或rvmsudo rvm implode用于系统范围的安装,但此脚本非常有用,因为它完全脱离 RVM 并在不使用 RVM 本身的情况下清除 RVM,不留任何痕迹。

#!/bin/bash
/usr/bin/sudo rm -rf $HOME/.rvm $HOME/.rvmrc /etc/rvmrc /etc/profile.d/rvm.sh /usr/local/rvm /usr/local/bin/rvm
/usr/bin/sudo /usr/sbin/groupdel rvm
/bin/echo "RVM is removed. Please check all .bashrc|.bash_profile|.profile|.zshrc for RVM source lines and delete or comment out if this was a Per-User installation."
于 2020-04-14T00:06:42.123 回答
0

补充@Kingsley Ijomah 的答案......

可能需要修复 PATH 以便rvm命令也从终端中消失。

要检查您的路径:

env | grep PATH

要修复 PATH 删除 RVM 目录:

dir_to_remove=/home/user/.rvm/bin
PATH=:$PATH:
PATH=${PATH//:$dir_to_remove:/:}
PATH=${PATH#:}; PATH=${PATH%:}

在这种情况下,如果您有多个目录,请一次更改dir_to_remove一个。

我需要删除一些 rvm 和 rbenv 目录,因为我现在正在使用 asdf。

当心。

于 2021-06-25T17:56:24.250 回答