【问题标题】:How to remove RVM (Ruby Version Manager) from my system如何从我的系统中删除 RVM(Ruby 版本管理器)
【发布时间】:2011-04-03 06:52:33
【问题描述】:

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

【问题讨论】:

  • 不确定您删除rvm 的意图——这可能是它的“突兀”——但rbenv 是一个值得选择的选择。您仍然可以在系统上管理多个Ruby 版本,但是它不会覆盖 shell 命令,不管理 gemsets(Bundler 绰绰有余),并且不需要在 shell 中加载。

标签: ruby rubygems rvm


【解决方案1】:

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

rvm implode

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

gem uninstall rvm

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

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

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

【讨论】:

  • +1 用于注意配置文件设置和 gem 卸载,如果您一开始没有听 Wayne 并将其安装为 gem。 :)
  • 如果你像我一样在乘客中配置了 rvm,请确保之后也重新安装乘客。
  • 它可能会暂时中断它,直到您创建一个新的 shell,因为当您从 PATH 中拉出可执行文件时,bash 之类的行为就是这样。
  • 我在~/.zshrc中也提到了RVM
  • 还有其他人觉得卸载 rvm 应该比这更容易吗?好肉汁。
【解决方案2】:

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

包装器包括:

erb
gem
irb
rake
rdoc
ri
ruby
testrb

【讨论】:

  • 注意:这是/usr/local/bin,而不是/user/local/bin
【解决方案3】:

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

见“Installing RVM on Ubuntu”。

【讨论】:

    【解决方案4】:

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

    rm -rf /.rvm
    

    或者:

    rvm implode
    

    【讨论】:

    • 是 rvm rm -rf /.rvm 还是 rm -rf ~/.rvm
    【解决方案5】:

    如果其他答案对您来说无法彻底删除 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."
    

    【讨论】:

      【解决方案6】:

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

      【讨论】:

        【解决方案7】:

        当使用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!
        

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

        【讨论】:

        • 是什么让初始消息出现?
        • 如果 RVM 是为单个用户安装的,最初不应该使用 sudo 来完成,因此它的所有文件都不会位于 /etc/usr 路径中。只有在使用多用户或sudo 安装时,您才会看到这一点,并且它们的存在强烈暗示RVM installation documentationNOT首先安装它的。
        【解决方案8】:

        如果您在调用某个 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】:

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

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

          env | grep PATH 
          

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

          vim .bashrc  
          

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

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

          【讨论】:

            【解决方案10】:

            运行:

            rvm implode
            

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

            gem uninstall rvm
            

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

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

            ls -a
            
            rm  .rvm
            rm  .rvmrc
            

            【讨论】:

            • 注意: RVM 不是 gem,所以 gem uninstall rvm 会失败。
            【解决方案11】:

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

            sudo apt autoremove rvm
            

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

            【讨论】:

            • 有很多尝试来解释如何在 Internet 上安装 RVM,但大多数都非常过时并且完全错误,因为该应用程序自发布以来的几年中增长了很多。 RVM's site 是有关安装、删除或使用它的信息的权威来源。因为它是一个灵活的工具,所以有很多页面,但是如果您按照基本安装,您会发现它根本没有侵入性,并且很容易管理或删除。
            【解决方案12】:

            根据 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."
            

            【讨论】:

              【解决方案13】:

              补充@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。

              小心点。

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 2011-03-15
                • 1970-01-01
                • 1970-01-01
                • 2011-09-06
                • 2010-12-06
                • 2013-03-20
                • 2014-11-13
                • 2011-02-06
                相关资源
                最近更新 更多