Odpowiedzi:
Jest wbudowane proste polecenie, które je wyciągnie:
rvm implode
Spowoduje to usunięcie rvm/katalogu i wszystkich wbudowanych w nim rubinów. Aby usunąć ostatni ślad rvm, musisz również usunąć klejnot rvm:
gem uninstall rvm
Jeśli wprowadziłeś modyfikacje, PATHmożesz je również wyciągnąć. Sprawdzić .bashrc, .profilei .bash_profileplików, między innymi.
Możesz także mieć /etc/rvmrcplik lub jeden z katalogu domowego, ~/.rvmrcktóry również może wymagać usunięcia.
bashzachowują się rzeczy, gdy wyciągasz pliki wykonywalne z PATH.
~/.zshrc
Jeśli inne odpowiedzi nie usuwają RVM w sposób wystarczający dla Ciebie, strona Rozwiązywanie problemów RVM zawiera tę sekcję:
Jak całkowicie usunąć wszystkie ślady RVM z mojego systemu, w tym w przypadku instalacji w całym systemie?
Oto niestandardowy skrypt, który nazywamy jako
cleanout-rvm. Chociaż zdecydowanie można go używaćrvm implodejako zwykłego użytkownika lubrvmsudo rvm implodedo instalacji całego systemu, skrypt ten jest użyteczny, ponieważ całkowicie wykracza poza RVM i czyści RVM bez korzystania z samego RVM, nie pozostawiając żadnych śladów.#!/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."
Podczas używania implodezobaczysz:
Psychologist intervened, cancelling implosion, crisis avoided :)
Następnie możesz użyć --force
rvm implode --force
Następnie usuń RVM z następujących lokalizacji:
rm -rf /usr/local/rvm
sudo rm /etc/profile.d/rvm.sh
sudo rm /etc/rvmrc
sudo rm ~/.rvmrc
Sprawdź następujące pliki i usuń lub skomentuj odniesienia do RVM:
~/.bashrc
~/.bash_profile
~/.profile
~/.zshrc
~/.zlogin
Skomentuj / usuń następujące linie z / etc / profile:
source /etc/profile.d/sm.sh
source /etc/profile.d/rvm.sh
/ etc / profile jest plikiem tylko do odczytu, więc użyj:
sudo vim /etc/profile
A po dokonaniu zmiany napisz za pomocą huku!
:w!
Na koniec zaloguj się ponownie / uruchom ponownie terminal.
sudopoczątkowo, więc żaden z jego plików nie będzie w ścieżkach /etclub /usr. Tylko wtedy, gdy został zainstalowany przy użyciu wielu użytkowników lub z sudo, zobaczysz to, a ich istnienie jest mocną wskazówką, że dokumentacja instalacyjna RVM NIE była przestrzegana, aby zainstalować ją w pierwszej kolejności.
Wiele osób często popełnia błąd, myśląc, że robi to „implode rvm”. Musisz usunąć wszystkie ślady plików .rm. Ponadto zajmie to ręczne usunięcie z katalogu głównego. Upewnij się, że zostanie usunięty, a także wszystkie zainstalowane w nim wersje Ruby.
Usuń skrypt ładujący RVM z /.bash_rc lub /.zsh_rc, a następnie użyj:
rm -rf /.rvm
Lub:
rvm implode
rm -rf /.rvmczy rm -rf ~/.rvm?
Biegać:
rvm implode
Teraz musisz odinstalować klejnot RVM, używając:
gem uninstall rvm
Sprawdź, czy w twoim katalogu domowym są jakieś pliki RVM, jeśli tak, usuń je.
Przejdź do katalogu domowego i wyświetl wszystkie ukryte pliki:
ls -a
rm .rvm
rm .rvmrc
gem uninstall rvmzawiedzie.
Pamiętaj, że jeśli zainstalowałeś RVM przez apt-get, musisz wykonać kilka dalszych kroków rvm implodelub apt-get remove ruby-rvm, aby naprawdę odinstalować.
Zobacz „ Instalowanie RVM na Ubuntu ”.
Jeśli nadal env: ruby_executable_hooks: No such file or directorydzwonisz po pakiet Ruby, oznacza to, że RVM zostawił ci mały prezent $PATH.
Uruchom następujące polecenie, aby znaleźć szkodliwe skrypty:
grep '#!/usr/bin/env ruby_executable_hooks' /usr/local/bin/*
Następnie rmwszystkie mecze. Oczywiście będziesz musiał ponownie zainstalować wszystkie te biblioteki z RVM-free gem.
Dla innych początkujących użytkowników powłoki próbujących naprawić zmienną PATH
Po wykonaniu instrukcji z zaakceptowanej odpowiedzi sprawdź i zmodyfikuj zmienną PATH, jeśli to konieczne:
env | grep PATH
jeśli widzisz gdziekolwiek „rvm”, musisz dowiedzieć się, gdzie ustawiasz ŚCIEŻKĘ i zmodyfikować. Ustawiałem go w 3 plikach - sprawdź więc wszystkie następujące pliki:
vim .bashrc
Usuń linie w pliku odwołujące się do rvm za pomocą polecenia dd. : wq, aby zapisać i wyjść.
source .bashrc„przeładować”
Powtórz ten proces (zaczynając od komendy vim) dla .profile i .bash_profile
Dokumentacja dotycząca rozwiązywania problemów według RVM „ Jak całkowicie usunąć wszystkie ślady RVM z mojego systemu, w tym w przypadku instalacji w całym systemie? ”:
Oto niestandardowy skrypt, który nazywamy „cleanout-rvm”. Chociaż zdecydowanie można go używać
rvm implodejako zwykłego użytkownika lubrvmsudo rvm implodedo instalacji całego systemu, skrypt ten jest użyteczny, ponieważ całkowicie wykracza poza RVM i czyści RVM bez korzystania z samego RVM, nie pozostawiając żadnych śladów.#!/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."
Korzystam z systemu Ubuntu 19.04 i postępowałem zgodnie ze wszystkimi powyższymi instrukcjami, a następnie kilkoma. Wreszcie działało dla mnie bieganie
sudo apt autoremove rvm
a teraz, gdy próbuję ponownie zainstalować RVM, właściwie go nie ma. RVM jest co najmniej inwazyjne.
Próbowałem powyższych poleceń, aby usunąć RVM z macOS, ale jakoś nadal pojawiał się na ścieżce.
Oto co zrobiłem, co zadziałało:
$ open ~/.bash_profile
Dodaj do swojego profilu bash:
unset GEM_PATH
unset MY_RUBY_HOME
unset GEM_HOME
Następnie w biegu terminalowym:
$ source ~/.bash_profile
grepdla tych zmiennych w twoim katalogu domowym i szanse są dobre, dowiesz się gdzie. Mogą być w instalacji dla wielu użytkowników /env/bash_profile.
rvm- może to być jego „natrętność” - alerbenvjest to warta alternatywa. Nadal możesz zarządzać wieloma wersjami Ruby w systemie, ale nie zastępuje poleceń powłoki, nie zarządza zestawami gemów ( Bundler jest więcej niż wystarczający) i nie musi być ładowany do powłoki.