Ответы:
Есть простая встроенная команда, которая будет тянуть его:
rvm implode
Это удалит rvm/каталог и все встроенные в него рубины. Чтобы удалить окончательный след rvm, вам также необходимо удалить гем rvm:
gem uninstall rvm
Если вы внесли изменения в свой, PATHвы, возможно, захотите их тоже. Проверьте ваши .bashrc, .profileи .bash_profileфайлы, среди прочего.
У вас также может быть /etc/rvmrcфайл или файл в вашем домашнем каталоге, ~/.rvmrcкоторый также может потребоваться удалить.
bashповедение, ведут себя, когда вы вынимаете исполняемые файлы из PATH.
~/.zshrc
Если другие ответы не удаляют 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."
При использовании 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!
Наконец, повторно войдите в систему / перезапустите свой терминал.
sudoизначально, поэтому ни один из его файлов не будет находиться в пути /etcили /usr. Только тогда , когда она была установлена с помощью многопользовательского или sudoвы увидите , что их существование сильные намеки , что документация установки RVM была НЕ следовать , чтобы установить его в первую очередь.
Многие люди делают общую ошибку, думая, что это делает «rvm implode». Вам необходимо удалить все следы любых файлов .rm. Кроме того, это займет некоторые ручные удаления из корня. Убедитесь, что он удален, а также все версии ruby, установленные с его помощью.
Удалите скрипт загрузки RVM из /.bash_rc или /.zsh_rc, затем используйте:
rm -rf /.rvm
Или:
rvm implode
rm -rf /.rvmили rm -rf ~/.rvm?
Запустить:
rvm implode
Теперь вам нужно удалить гем RVM, используя:
gem uninstall rvm
Проверьте, есть ли в вашем домашнем каталоге оставшиеся файлы RVM, если да, удалите их.
Перейдите в домашний каталог и перечислите все скрытые файлы:
ls -a
rm .rvm
rm .rvmrc
gem uninstall rvmпотерпит неудачу.
Обратите внимание, что если вы установили RVM через apt-get, вам нужно выполнить некоторые дополнительные действия, кроме rvm implodeилиapt-get remove ruby-rvm получить его, чтобы действительно удалить.
Смотрите " Установка RVM в Ubuntu ".
Если вы все еще получаете, env: ruby_executable_hooks: No such file or directoryкогда звоните в какой-то пакет Ruby, это означает, что RVM оставил для вас небольшой подарок $PATH.
Выполните следующие действия, чтобы найти скрипты:
grep '#!/usr/bin/env ruby_executable_hooks' /usr/local/bin/*
Тогда rmвсе совпадения. gemКонечно, вам придется переустанавливать все эти библиотеки без RVM .
Для других новичков оболочки пытаются исправить переменную PATH
После выполнения инструкций в принятом ответе проверьте и измените переменную PATH, если необходимо:
env | grep PATH
если вы видите «rvm» в любом месте, вам нужно выяснить, где вы устанавливаете PATH и изменить. Я устанавливал его в 3 файлах - так что проверьте все следующие файлы:
vim .bashrc
Удалите строки в файле, ссылающемся на rvm, с помощью команды dd. : wq для сохранения и выхода.
source .bashrc«перезагрузить»
Повторите этот процесс (начиная с команды vim) для .profile и .bash_profile
В документации по устранению неполадок 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."
Я бегу Ubuntu 19.04 и следовал всем инструкциям выше, а затем некоторые. Наконец то, что сработало для меня, это запустить
sudo apt autoremove rvm
и теперь, когда я пытаюсь переустановить RVM, это на самом деле прошло. RVM агрессивен, если не сказать больше.
Я попробовал вышеуказанные команды, чтобы удалить RVM из macOS, но каким-то образом он все еще обнаруживался в пути.
Вот что я сделал, и это сработало:
$ open ~/.bash_profile
Добавьте в свой профиль bash следующее:
unset GEM_PATH
unset MY_RUBY_HOME
unset GEM_HOME
Затем в терминале запустите:
$ source ~/.bash_profile
grepдля этих переменных в вашем домашнем каталоге и шансы хороши, вы узнаете, где. В многопользовательской установке они могут быть в /env/bash_profile.
rvm- это может быть его «навязчивость» - ноrbenvэто достойная альтернатива. Вы по-прежнему можете управлять несколькими версиями Ruby в вашей системе, но это не отменяет команд оболочки, не управляет наборами гемов ( Bundler более чем достаточно), и его не нужно загружать в оболочку.