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

时间:2010-08-24 16:26:33

标签: ruby rubygems rvm

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

13 个答案:

答案 0 :(得分:882)

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

rvm implode

这将删除rvm/目录及其中构建的所有rubies。为了删除rvm的最终痕迹,您还需要删除rvm gem:

gem uninstall rvm

如果您对PATH进行了修改,那么您可能也希望对其进行修改。检查您的.bashrc.profile.bash_profile文件等。

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

答案 1 :(得分:50)

如果其他答案没有足够的删除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 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."

答案 2 :(得分:28)

使用内爆时,您会看到:

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

使用爆炸后进行更改后写作!

:w!

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

答案 3 :(得分:17)

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

包装包括:

erb
gem
irb
rake
rdoc
ri
ruby
testrb

答案 4 :(得分:7)

很多人都认为“rvm implode”就是这样做的常见错误。您需要删除任何.rm文件的所有跟踪。此外,它将从root进行一些手动删除。确保它被删除,以及使用它安装的所有ruby版本。

答案 5 :(得分:6)

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

rm -rf /.rvm

或者:

rvm implode

答案 6 :(得分:4)

运行以下命令

rvm implode

现在你需要取消rvm gem:

gem uninstall rvm

检查主目录中是否有剩余的rvm文件,如果是,则将其删除。

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

ls -a

rm  .rvm
rm  .rvmrc

答案 7 :(得分:3)

请注意,如果您通过apt-get安装了RVM,则必须运行比rvm implodeapt-get remove ruby-rvm更多的步骤才能让它真正卸载。

请参阅“Installing RVM on Ubuntu”。

答案 8 :(得分:2)

如果您在调用某个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重新安装所有这些库。

答案 9 :(得分:1)

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

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

env | grep PATH 

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

vim .bashrc  

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

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

答案 10 :(得分:0)

我正在运行Ubuntu 19.04,并遵循上面的所有说明以及随后的一些说明。最后,对我有用的是跑步

sudo apt autoremove rvm

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

答案 11 :(得分:0)

每个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 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."

答案 12 :(得分: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。

小心。