有一个简单的内置命令可以拉取它:
rvm implode
这将删除 rvm/
目录和其中构建的所有 rubies。为了删除 rvm 的最终痕迹,您还需要删除 rvm gem,如果您安装了它:
gem uninstall rvm
可能有 Homebrew、Apt 或 DNF 安装遗留下来的元素也需要删除。这首先取决于您如何安装它。该清理步骤是可选的,因为 RVM 将不再涉及 Ruby,但可以帮助保持事物井井有条。
如果您对 PATH
进行了修改,您可能也希望将其拉出。检查您的 .bashrc
、.profile
和 .bash_profile
文件等。
您可能还有一个 /etc/rvmrc
文件,或者您的主目录 ~/.rvmrc
中的一个文件也可能需要删除。
如果其他答案对您来说不够彻底地删除 RVM,RVM’s Troubleshooting page 包含此部分:
如何从我的系统中彻底清除所有 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 已被删除。请检查所有 .bashrc|.bash_profile|.profile|.zshrc 以获取 RVM 源代码行,如果有,请删除或注释掉是按用户安装的。”
使用 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!
最后重新登录/重新启动您的终端。
sudo
来完成,因此它的所有文件都不会位于 /etc
或 /usr
路径中。只有使用多用户或使用 sudo
安装它时,您才会看到这一点,并且它们的存在强烈暗示 RVM installation documentation 是NOT首先安装它的。
除了@tadman 的回答,我还删除了 /usr/local/bin
中的包装器以及文件 /etc/profile.d/rvm
。
包装器包括:
erb
gem
irb
rake
rdoc
ri
ruby
testrb
/usr/local/bin
,而不是 /user/local/bin
。
很多人都犯了一个常见的错误,即认为“rvm implode”可以做到这一点。您需要删除任何 .rm 文件的所有痕迹。此外,还需要从根目录手动删除一些内容。确保它被删除,以及你使用它安装的所有 ruby 版本。
从 /.bash_rc 或 /.zsh_rc 中删除 RVM 加载脚本,然后使用:
rm -rf /.rvm
或者:
rvm implode
rm -rf /.rvm
还是 rm -rf ~/.rvm
?
跑:
rvm implode
现在您需要使用以下命令卸载 RVM gem:
gem uninstall rvm
检查您的主目录中是否还有剩余的 RVM 文件,如果是,请删除它们。
转到主目录并列出所有隐藏文件:
ls -a
rm .rvm
rm .rvmrc
gem uninstall rvm
会失败。
请注意,如果您通过 apt-get 安装 RVM,则必须运行比 rvm implode
或 apt-get remove ruby-rvm
更进一步的步骤才能真正卸载它。
请参阅“Installing RVM on Ubuntu”。
如果您在调用某个 Ruby 包时仍然收到 env: ruby_executable_hooks: No such file or directory
,这意味着 RVM 在您的 $PATH
中为您留下了一个小礼物。
运行以下命令以查找有问题的脚本:
grep '#!/usr/bin/env ruby_executable_hooks' /usr/local/bin/*
然后 rm
所有匹配项。当然,您必须使用无 RVM gem
重新安装所有这些库。
对于其他试图修复 PATH 变量的 shell 新手
按照接受的答案中的说明进行操作后,如有必要,请检查并修改您的 PATH 变量:
env | grep PATH
如果你在任何地方看到“rvm”,你需要弄清楚你在哪里设置 PATH 并修改。我将它设置在 3 个文件中 - 所以请检查以下所有文件:
vim .bashrc
使用 dd 命令删除文件中引用 rvm 的行。 :wq 保存并退出。
source .bashrc
“重新加载”
对 .profile 和 .bash_profile 重复这个过程(从 vim 命令开始)
根据 RVM 的故障排除文档“How do I completely clean out all traces of RVM from my system, including for system wide installs?”:
这是一个自定义脚本,我们将其命名为“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 已被删除。请检查所有 .bashrc|.bash_profile|.profile|.zshrc 以获取 RVM 源代码行,如果有,请删除或注释掉是按用户安装的。”
我正在运行 Ubuntu 19.04 并按照上面的所有说明进行操作。最后,对我有用的是跑步
sudo apt autoremove rvm
现在,当我尝试重新安装 RVM 时,它实际上已经消失了。至少可以说,RVM 是侵入性的。
补充@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。
当心。
PATH
中拉出可执行文件时,bash
之类的行为就是这样。~/.zshrc
中提到了 RVM