Відповіді:
Існує проста команда, яка вбудує її:
rvm implode
Це видалить rvm/
каталог та всі вбудовані в нього рубіни. Для того, щоб видалити остаточний слід rvm, вам також потрібно видалити gv rmm:
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-файлів. Крім того, знадобиться кілька ручних видалень з root. Переконайтеся, що він видаляється, а також всі рубінові версії u, встановлені з його допомогою.
Видаліть сценарій завантаження 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 з моєї системи, в тому числі для встановлення на всій системі? ":
Ось користувацький сценарій, який ми називаємо "очищення-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 більш ніж достатньо), і його не потрібно завантажувати в оболонку.