Как я могу удалить RVM (Ruby Version Manager) из моей системы?
Как я могу удалить RVM (Ruby Version Manager) из моей системы?
14 ответов
Есть простая встроенная команда, которая будет тянуть это:
rvm implode
Это удалит rvm/
каталог и все рубины, встроенные в него. Чтобы удалить окончательный след rvm, вам также необходимо удалить гем rvm:
gem uninstall rvm
Если вы внесли изменения в свой PATH
возможно, вы тоже захотите это сделать. Проверьте свои .bashrc
, .profile
а также .bash_profile
файлы, между прочим.
Вы также можете иметь /etc/rvmrc
файл или один в вашем домашнем каталоге ~/.rvmrc
это, возможно, должно быть удалено также.
Если другие ответы не удаляют 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."
При использовании взрыва и вы видите:
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!
Наконец, повторно войдите в систему / перезапустите свой терминал.
В дополнение к ответу @tadman я удалил обертки в /usr/local/bin
а также файл /etc/profile.d/rvm
,
Обертки включают в себя:
erb
gem
irb
rake
rdoc
ri
ruby
testrb
Многие люди делают распространенную ошибку, думая, что это делает "rvm implode". Вам необходимо удалить все следы любых файлов.rm. Кроме того, это займет некоторые ручные удаления из корня. Убедитесь, что он удален, а также все версии ruby, установленные с его помощью.
Удалите скрипт загрузки RVM из /.bash_rc или /.zsh_rc, затем используйте:
rm -rf /.rvm
Или же:
rvm implode
Запустите следующую команду
rvm implode
Теперь вам нужно удалить rmm gem:
gem uninstall rvm
Проверьте, есть ли в вашем домашнем каталоге оставшиеся файлы rvm, если да, удалите их.
Перейдите в домашний каталог и перечислите все скрытые файлы
ls -a
rm .rvm
rm .rvmrc
Для других новичков оболочки пытаются исправить переменную PATH
После выполнения инструкций в принятом ответе проверьте и измените переменную PATH, если необходимо:
env | grep PATH
если вы видите "rvm" в любом месте, вам нужно выяснить, где вы устанавливаете PATH и изменить. Я устанавливал его в 3 файлах - так что проверьте все следующие файлы:
vim .bashrc
Удалите строки в файле, ссылающемся на rvm, с помощью команды dd.:wq для сохранения и выхода.source .bashrc
"перезагрузить"
Повторите этот процесс (начиная с команды vim) для.profile и.bash_profile
Обратите внимание, что если вы установили 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
все спички Вам придется переустановить все эти библиотеки с RVM-free gem
, конечно.
Я запускаю Ubuntu 19.04 и выполнил все приведенные выше инструкции, а затем некоторые. Наконец, у меня сработало запустить
sudo apt autoremove rvm
и теперь, когда я пытаюсь переустановить RVM, его фактически нет. 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."
Дополняя ответ @Kingsley Ijomah ...
Может потребоваться исправить ПУТЬ, чтобы команда 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.
Будь осторожен.
Я пробовал использовать указанные выше команды для удаления RVM из macOS, но каким-то образом он все еще появлялся в пути.
Вот что я сделал, и это сработало:
$ open ~/.bash_profile
Добавьте в свой профиль bash следующее:
unset GEM_PATH
unset MY_RUBY_HOME
unset GEM_HOME
Затем в терминале запустите:
$ source ~/.bash_profile