Как я могу удалить 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
Другие вопросы по тегам