システムからRVM(Rubyバージョンマネージャー)を削除する方法


575

システムからRVM(Rubyバージョンマネージャ)を削除するにはどうすればよいですか?


9
削除する意図がわからないrvm-それはその「邪魔になる」可能性があります-しかし、rbenv価値のある代替手段です。システムで複数のRubyバージョンを管理することはできますが、シェルコマンドをオーバーライドせず、gemsetを管理しません( Bundlerで十分です)。シェルにロードする必要はありません。
Jochem Schulenklopper、2012年

回答:


923

それを引っ張る組み込みの簡単なコマンドがあります:

rvm implode

これにより、rvm/ディレクトリとその中に構築されているすべてのルビーが削除されます。rvmの最後のトレースを削除するには、rvm gemも削除する必要があります。

gem uninstall rvm

変更を加えたPATH場合は、それらもプルすることをお勧めします。あなたのチェック.bashrc.profileおよび.bash_profile他のものの間で、ファイルを。

また/etc/rvmrc、ホームディレクトリにファイルを~/.rvmrc削除する必要がある場合もあります。


21
最初にWayneを聞いておらず、gemとしてインストールした場合は、プロファイル設定とgemのアンインストールに注意するための+1 。:)
Jed Schneider

7
私と同じように、パッセンジャーにrvmを設定している場合は、パッセンジャーも後で再インストールしてください。
11

4
新しいシェルを作成するまで一時的に壊れる可能性bashがありPATHます。これは、実行可能ファイルをからヤンクしたときの動作と同じです。
tadman

14
また、Rate VMについても言及しました~/.zshrc
Nate Cook

8
他の誰もが、rvmのアンインストールはこれよりも簡単だと感じていますか?良い肉汁。
mycargus

56

他の回答で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."

37

使用する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

そして、変更を書き込んだ後、強打を使用して書き込みます!

:w!

最後に、ターミナルに再ログイン/再起動します。


最初のメッセージが表示されるのはなぜですか?
Newbyte

1
RVMがシングルユーザー用にインストールされている場合、sudo最初はを使用して行われるべきではないため、そのファイルは/etcまたは/usrパスにありません。それは、マルチユーザまたはで使用してインストールされた場合にのみ、sudoあなたはそれを参照してください意志を、そして彼らの存在という強いヒントですRVMのインストールマニュアルをしてないで最初の場所でそれをインストールして行きました。
ティンマン

17

@tadmanの回答に/usr/local/bin加えて、ファイルと同様にラッパーも削除しました/etc/profile.d/rvm

ラッパーは次のとおりです。

erb
gem
irb
rake
rdoc
ri
ruby
testrb

3
注:で/usr/local/binはありません/user/local/bin
bfontaine 2014年

7

多くの人々は、「rvm内破」がそれをするという考えのよくある間違いをします。.rmファイルのすべてのトレースを削除する必要があります。また、ルートから手動で削除する必要があります。それが削除され、それを使用してインストールされたすべてのrubyバージョンも削除されることを確認してください。


6

/.bash_rcまたは/.zsh_rcからRVMロードスクリプトを削除し、次を使用します。

rm -rf /.rvm

または:

rvm implode

2
それはRVMていますrm -rf /.rvmrm -rf ~/.rvm
2015

5

実行:

rvm implode

次に、以下を使用してRVM gemをアンインストールする必要があります。

gem uninstall rvm

ホームディレクトリにRVMファイルが残っているかどうかを確認し、ある場合は削除します。

ホームディレクトリに移動し、すべての隠しファイルを一覧表示します。

ls -a

rm  .rvm
rm  .rvmrc

注: RVMはGemではないため、gem uninstall rvm失敗します。
ティンマン


2

env: ruby_executable_hooks: No such file or directoryRubyパッケージを呼び出してもまだが表示される場合は、RVMがに少しのギフトを残していることを意味します$PATH

次のコマンドを実行して、問題のあるスクリプトを見つけます。

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

その後、rmすべての試合。もちろん、これらすべてのライブラリをRVMフリーgemで再インストールする必要があります。


2

PATH変数を修正しようとする他のシェル初心者向け

受け入れられた回答の指示に従って、必要に応じてPATH変数を確認して変更します。

env | grep PATH 

どこかに「rvm」が表示されている場合は、PATHを設定して変更している場所を特定する必要があります。私はそれを3つのファイルに設定していました。次のファイルをすべて確認してください。

vim .bashrc  

ddコマンドを使用して、rvmを参照するファイルの行を削除します。:wq保存して終了します。
source .bashrc「リロード」する

.profileおよび.bash_profileについて、このプロセス(vimコマンドから開始)を繰り返します。


これは素晴らしい点です。
ティンマン

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

0

私はUbuntu 19.04を実行しており、上記のすべての手順を実行した後、いくつかの手順を実行しました。最後に、私のために働いたのは走ることでした

sudo apt autoremove rvm

そして今、RVMを再インストールしようとすると、実際にはなくなってしまいました。控えめに言っても、RVMは侵襲的です。


インターネット経由でRVMをインストールする方法を説明しようとする試みは数多くありますが、リリースされてから数年でアプリケーションが大幅に成長したため、ほとんどが非常に古く、かなり間違っています。RVMのサイトは、RVMのインストール、削除、または使用に関する情報の最も信頼できる情報源です。柔軟なツールであるため多くのページがありますが、基本的なインストールに従うと、それはまったく侵襲的ではなく、管理または削除が非常に簡単であることがわかります。
Tin Man

-1

上記のコマンドを使用してmacOSからRVMを削除しようとしましたが、どういうわけかそれはまだパスに表示されていました。

これが私がしたことで、うまくいきました:

$ open ~/.bash_profile

以下をbashプロファイルに追加します。

unset GEM_PATH
unset MY_RUBY_HOME
unset GEM_HOME

その後、ターミナルで実行します:

$ source ~/.bash_profile

どこかで初期化する必要があります。grepホームディレクトリ内の変数とオッズが適切な場合は、どこにあるかがわかります。マルチユーザーのインストールでは、それらはにあり/env/bash_profileます。
ティンマン

grepを使用しました。私は言及するのを忘れていました。謝罪。
スミ

回答を編集して修正し、あなたがしたことをより正確に示すことができます。覚えておいてください、SOはOPの直接的な解決策ではなく、ソリューションを探している将来の他の人のための長期的な回答に関するものです。人々は、それが一点のサイトではないことを忘れて、それはプログラマーのコードにポジティブな変更を加えることについてです。
ティンマン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.