如何从我的系统中删除RVM (Ruby版本管理器)?
有一个简单的内置命令可以拉出它:
rvm implode
这将删除rvm/目录以及其中构建的所有ruby。如果你安装了rvm gem,为了删除rvm的最终跟踪,你也需要删除rvm gem:
gem uninstall rvm
在家酿、Apt或DNF安装中可能会有剩余的元素需要移除。这取决于您一开始是如何安装它的。这个清理步骤是可选的,因为RVM将不再涉及Ruby,但可以帮助保持事情的组织。
如果你已经修改了你的PATH,你可能也想拉这些。检查你的.bashrc, .profile和.bash_profile文件。
你也可以有一个/etc/rvmrc文件,或者在你的主目录~/。RVMRC也可能需要切除。
除了@tadman的回答,我删除了/usr/local/bin以及文件/etc/profile.d/rvm.中的包装器
包装材料包括:
erb
gem
irb
rake
rdoc
ri
ruby
testrb
注意,如果你通过apt-get安装RVM,你必须运行一些比RVM implode或apt-get remove ruby-rvm更深入的步骤来真正卸载它。
参见“在Ubuntu上安装RVM”。
如果其他答案不能完全为您删除RVM, RVM的故障排除页面包含此部分:
How do I completely clean out all traces of RVM from my system, including for system wide installs? Here is a custom script which we name as cleanout-rvm. While you can definitely use rvm implode as a regular user or rvmsudo rvm implode for a system wide install, this script is useful as it steps completely outside of RVM and cleans out RVM without using RVM itself, leaving no traces. #!/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."
很多人犯了一个常见的错误,认为是“rvm implode”做的。您需要删除任何.rm文件的所有痕迹。此外,它将从根目录中手动删除一些内容。确保它会被删除,你使用它安装的所有ruby版本也会被删除。
当使用implode时,你会看到:
Psychologist intervened, cancelling implosion, crisis avoided :)
那你可能会想用武力
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!
最后重新登录/重新启动您的终端。
如果在调用Ruby包时仍然得到env: ruby_executable_hooks:没有这样的文件或目录,这意味着RVM在$PATH中为你留下了一个小礼物。
执行以下命令查找违规脚本:
grep '#!/usr/bin/env ruby_executable_hooks' /usr/local/bin/*
然后rm所有的匹配。当然,您必须使用RVM-free gem重新安装所有这些库。
对于其他试图修复PATH变量的shell新手
在遵循已接受答案中的说明后,如果需要,检查并修改PATH变量:
env | grep PATH
如果你在任何地方看到“rvm”,你需要弄清楚你在哪里设置PATH并修改。我把它设置在3个文件-所以检查所有以下文件:
vim .bashrc
使用dd命令删除文件中引用rvm的行。:wq保存并退出。 Source .bashrc来“重载”
对.profile和.bash_profile重复这个过程(从vim命令开始)
Run:
rvm implode
现在你需要使用以下方法卸载RVM gem:
gem uninstall rvm
检查您的主目录中是否有剩余的RVM文件,如果有,删除它们。
进入主目录并列出所有隐藏文件:
ls -a
rm .rvm
rm .rvmrc
我运行的是Ubuntu 19.04,并且遵循了上面所有的说明。最后,对我有用的是跑步
sudo apt autoremove rvm
现在当我尝试重新安装RVM时,它实际上已经消失了。RVM至少可以说是侵入性的。
根据RVM的故障排除文档“如何从系统中完全清除RVM的所有痕迹,包括系统范围的安装?”:
Here is a custom script which we name as 'cleanout-rvm'. While you can definitely use rvm implode as a regular user or rvmsudo rvm implode for a system wide install, this script is useful as it steps completely outside of RVM and cleans out RVM without using RVM itself, leaving no traces. #!/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."
补充@Kingsley Ijomah的回答…
可能需要修复PATH,以便rvm命令也从终端中消失。
要检查您的PATH:
env | grep PATH
要修复您的路径删除RVM目录:
dir_to_remove=/home/user/.rvm/bin
PATH=:$PATH:
PATH=${PATH//:$dir_to_remove:/:}
PATH=${PATH#:}; PATH=${PATH%:}
在这种情况下,如果您有多个目录,请将dir_改为一次删除一个目录。
我需要删除一些rvm和rbenv目录,因为我现在使用asdf。
小心些而已。
推荐文章
- 我如何在Ruby中解析YAML文件?
- Rails中的OO设计:在哪里放置东西
- 给定一个类,查看实例是否有方法(Ruby)
- 在日历应用程序中建模重复事件的最佳方法是什么?
- 如何创建一个私有类方法?
- 无法安装pg gem
- 双* (splat)操作符做什么
- 如何使用Ruby on Rails进行HTTP请求?
- 如何从rake任务中提前返回?
- 什么&。(&点)在Ruby中是什么意思?
- 是什么阻碍了Ruby和Python获得V8的Javascript速度?
- 运行pod设置给我“坏的解释器:没有这样的文件或目录”错误
- 在Ubuntu上安装sqlite3-ruby错误
- Ruby有什么Python没有的,反之亦然?
- find_spec_for_exe':无法找到gem bundle (>= 0.a) (gem::GemNotFoundException)