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, PATH
możesz je również wyciągnąć. Sprawdzić .bashrc
, .profile
i .bash_profile
plików, między innymi.
Możesz także mieć /etc/rvmrc
plik lub jeden z katalogu domowego, ~/.rvmrc
który również może wymagać usunięcia.
bash
zachowują 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 implode
jako zwykłego użytkownika lubrvmsudo rvm implode
do 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 implode
zobaczysz:
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.
sudo
początkowo, więc żaden z jego plików nie będzie w ścieżkach /etc
lub /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 /.rvm
czy 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 rvm
zawiedzie.
Pamiętaj, że jeśli zainstalowałeś RVM przez apt-get, musisz wykonać kilka dalszych kroków rvm implode
lub apt-get remove ruby-rvm
, aby naprawdę odinstalować.
Zobacz „ Instalowanie RVM na Ubuntu ”.
Jeśli nadal env: ruby_executable_hooks: No such file or directory
dzwonisz 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 rm
wszystkie 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 implode
jako zwykłego użytkownika lubrvmsudo rvm implode
do 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
grep
dla 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ść” - alerbenv
jest 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.