Як видалити RVM (Ruby Version Manager) з моєї системи


575

Як я можу видалити RVM (Ruby Version Manager) зі своєї системи?


9
Не впевнений у своїх намірах видалити rvm- це може бути його "нав'язливість" - але rbenvце є гідною альтернативою. Ви все одно можете керувати декількома версіями Ruby у вашій системі, але вона не переосмислює команди оболонок, не керує гемсетами ( Bundler більш ніж достатньо), і його не потрібно завантажувати в оболонку.
Йохем Шуленклоппер

Відповіді:


923

Існує проста команда, яка вбудує її:

rvm implode

Це видалить rvm/каталог та всі вбудовані в нього рубіни. Для того, щоб видалити остаточний слід rvm, вам також потрібно видалити gv rmm:

gem uninstall rvm

Якщо ви внесли свої зміни, PATHможливо, захочете і їх витягнути. Перевірте .bashrc, .profileі .bash_profileфайли, між іншим.

Також /etc/rvmrcу вашому домашньому каталозі ~/.rvmrcможе бути файл або файл, який, можливо, потрібно буде також видалити.


21
+1 за відмітку налаштувань профілю та видалення дорогоцінного каменю, якщо ви в першу чергу не слухали Вейна та встановили його як дорогоцінний камінь. :)
Джед Шнайдер

7
Якщо у вас, як-у мене, налаштований rvm у пасажирі, обов’язково перевстановіть пасажира і після цього.
berkes

4
Він може порушити його тимчасово, поки ви не створите нову оболонку, оскільки саме так bashповодяться такі речі, коли ви виймаєте виконуючі файли з PATH.
тадман

14
Я також мав посилання на RVM в~/.zshrc
Нейт Кук

8
Хтось ще відчуває, що видалення rvm має бути простішим за це? Гарний підлив.
mycargus

56

Якщо інші відповіді не видаляють 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."

37

Під час використання 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!

Нарешті повторно увійдіть / перезапустіть свій термінал.


Що робить це початкове повідомлення?
Ньюбайт

1
Якщо RVM був встановлений для одного користувача, це не повинно було бути виконано, використовуючи sudoспочатку, тому жоден з його файлів не буде в /etcабо /usrшляху. Тільки тоді , коли вона була встановлена з допомогою розрахованого на багато користувачів або sudoви побачите , що їх існування сильні натяки , що документація установки RVM була НЕ слідувати , щоб встановити його в першу чергу.
Олов'яний чоловік

17

На додаток до @ tadman відповіді я видалив обгортки /usr/local/bin, а також файл /etc/profile.d/rvm.

Обгортки включають:

erb
gem
irb
rake
rdoc
ri
ruby
testrb

3
Примітка: це /usr/local/bin, ні /user/local/bin.
bfontaine

7

Багато людей роблять поширену помилку, думаючи, що "rvm implode" це робить. Потрібно видалити всі сліди будь-яких .rm-файлів. Крім того, знадобиться кілька ручних видалень з root. Переконайтеся, що він видаляється, а також всі рубінові версії u, встановлені з його допомогою.


6

Видаліть сценарій завантаження RVM з /.bash_rc або /.zsh_rc, а потім скористайтеся:

rm -rf /.rvm

Або:

rvm implode

2
Це rvm rm -rf /.rvmчи rm -rf ~/.rvm?
шалено

5

Виконати:

rvm implode

Тепер вам потрібно видалити дорогоцінний камінь RVM за допомогою:

gem uninstall rvm

Перевірте, чи є у вашому домашньому каталозі залишилися файли RVM, якщо так, видаліть їх.

Перейдіть до домашнього каталогу та перерахуйте всі приховані файли:

ls -a

rm  .rvm
rm  .rvmrc

Примітка: RVM не є дорогоцінним каменем, тому gem uninstall rvmне вдасться.
Олов'яний чоловік

3

Зауважте, що якщо ви встановили RVM через apt-get, вам доведеться виконати кілька подальших кроків, ніж rvm implodeабо apt-get remove ruby-rvmщоб змусити його дійсно видалити.

Див. " Встановлення RVM на Ubuntu ".


2

Якщо ви все ще отримуєте, 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 .


2

Для інших новачків, що намагаються виправити змінну PATH

Дотримуючись інструкцій у прийнятій відповіді, перевірте та змініть змінну PATH, якщо це необхідно:

env | grep PATH 

якщо ви бачите "rvm" де завгодно, вам потрібно з'ясувати, де ви встановлюєте PATH та змінити. Я встановлював це в 3 файли - тому перевірте всі наступні файли:

vim .bashrc  

Видаліть рядки з файлу, на який посилається rvm, за допомогою команди dd. : wq, щоб зберегти та вийти.
source .bashrc"перезавантажити"

Повторіть цей процес (починаючи з команди vim) для .profile та .bash_profile


Це відмінний момент.
Олов'яний чоловік

0

Відповідно до документації щодо усунення несправностей RVM " Як я повністю очищую всі сліди RVM з моєї системи, в тому числі для встановлення на всій системі? ":

Ось користувацький сценарій, який ми називаємо "очищення-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."

0

Я запускаю Ubuntu 19.04 і слідую всім інструкціям вище, а потім деяким. Нарешті, те, що для мене працювало, - це бігти

sudo apt autoremove rvm

і тепер, коли я спробую і перевстановлюю RVM, він фактично зник. RVM є найменш інвазивним.


Існує чимало спроб пояснити, як встановити RVM через Інтернет, і більшість є застарілими та зовсім неправильними, оскільки додаток сильно виріс за роки з моменту виходу. Сайт RVM - це остаточне джерело інформації про його встановлення, видалення або використання. Сторінок багато, тому що це гнучкий інструмент, але якщо ви дотримуєтесь базової установки, ви виявите, що це зовсім не інвазивно і досить просто керувати або видаляти.
Олов'яний чоловік

-1

Я спробував вищезазначені команди для видалення RVM з macOS, але якимось чином він все ще з'являвся на шляху.

Ось що я зробив, що працювало:

$ open ~/.bash_profile

Додайте у свій профіль bash наступне:

unset GEM_PATH
unset MY_RUBY_HOME
unset GEM_HOME

Потім у терміналі запустіть:

$ source ~/.bash_profile

Це потрібно десь ініціалізувати; grepдля цих змінних у вашому домашньому каталозі, і шанси хороші, ви дізнаєтесь, де. У багатокористувацькій установці вони могли бути /env/bash_profile.
Олов'яний чоловік

Я використовував греп. Я забув згадати. Вибачення.
Суми

Добре відредагувати свою відповідь та змінити її, щоб більш точно показати, що ви зробили. Пам’ятайте, ТА не стосується негайного рішення для ОП, а про довгострокові відповіді для інших у майбутньому, які шукають рішення. Люди забувають, що це не захоплюючий сайт, це про позитивні зміни в коді програмістів.
Олов'яний чоловік
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.