Видалення всіх встановлених самоцвітів та початок спочатку


92

Нещодавно я почав вивчати Ruby та Ruby on Rails, і спостерігав безліч початкових матеріалів. Останнім часом я виявляю, що постійно отримую помилки там, де дорогоцінні камені не встановлюються або вони будуть встановлені, але їх не можна використовувати з якихось причин, і я вирішив, що хочу видалити все, щоб знову встановити Рубі і починайте спочатку з установки. Одне навчальне відео змусило мене встановити більшість своїх дорогоцінних каменів на RVM, тому я не знаю, чи це щось змінює.

Тож коротко моє запитання: "Як позбутися RVM, Rubygems та всіх встановлених Gems, щоб я міг почати спочатку лише з Ruby?"

Редагувати: я працюю на Mac OS 10.6


1
Ви встановили в / opt / ruby? Ось що я роблю, щоб я міг швидко видалити рубін.
альтернатива

Див. Stackoverflow.com/questions/15100496/… Це також повинно працювати і для 1.9.3 :)
Натан Лілієнталь

Заголовок вашого запитання та підсумок "короткого запитання" в кінці - це дві різні речі ...
mpowered

Відповіді:


118

З веб-сайту підтримки RVM :

RVM встановлює все в ~ / .rvm. Щоб видалити RVM з вашої системи, запустіть 'rm -rf ~ / .rvm'. У вас може бути один додатковий конфігураційний файл у ~ / .rvmrc і, звичайно, гачок RVM у ваших файлах запуску bash / zsh.

Отже, просто перейдіть до командного рядка та введіть rm -rf ~/.rvm

Усі встановлені дорогоцінні камені знаходяться в папках ~ / .rvm, тому, виконавши вищезазначені дії, ви видалите дорогоцінні камені та встановлені рубіни одним рухом.

Самоцвіти, які ви додали до RVM із встановленою за замовчуванням рубіновою установкою, можна видалити, ввівши це в командному рядку:

for x in `gem list --no-versions`; do gem uninstall $x -a -x -I; done

1
Я щойно запустив це, але дорогоцінні камені все ще встановлені. Однак, схоже, він перезавантажив його. Не впевнений, чи перезавантажився він за замовчуванням із Mac XCode чи що ...
Дейв Лонг

додав ще один рядок, щоб позбутися дорогоцінних каменів, які ви додали до RVM
michaelmichael

1
Я б додав параметри '-all -x -I' для видалення gem, щоб запобігти його підказкам (для бінарних файлів, версій або залежностей) під час видалення.
timmfin

4
Для довідки, повна команда: для x у `gem list --no-версії`; видалити самоцвіт $ x -a -x -I; готово
Даніель Ренер

7
Для довідки ще один варіант:gem list --no-versions | xargs gem uninstall -aIx
trisweb

67
gem uninstall -aIx

Видаляє всі дорогоцінні камені без підказки.

Варіанти

-a, --[no-]all                   Uninstall all matching versions
-I, --[no-]ignore-dependencies   Ignore dependency requirements while
                                 uninstalling
-x, --[no-]executables           Uninstall applicable executables without
                                 confirmation

Це дає мені:ERROR: While executing gem ... (Gem::InstallError) gist is not installed in GEM_HOME, try: gem uninstall -i /usr/share/rubygems-integration/all gist
user2023370

34

Для Windows та Unix скопіюйте / вставте в командний рядок ( Ruby 1.9.x ).

ruby -e "`gem list`.split(/$/).each { |line| puts `gem uninstall -Iax #{line.split(' ')[0]}` unless line.strip.empty? }"

2
ERROR: While executing gem ... (Gem::CommandLineError) Please specify at least one gem name (e.g. gem build GEMNAME) -e:1: no .<digit> floating literal anymore; put 0 before dot bundle (0.0.1) ^ -e:1: syntax error, unexpected tINTEGER bundle (0.0.1) ^
ізоморфізми

@isomorphismes не впевнений, чи я це виправив, але ви можете спробувати команду зараз.
Haris Krajina

22

використовуючи RVM, ви можете просто ввести ...

rvm gemset empty GEMSET

де GEMSET - це набір самоцвітів, який ви хочете спорожнити. тоді...

встановити пакет

yum install bundler і, нарешті

bundle install

14

rvm implode(див. cli docs ), здається, працює - і навіть підказує, де шукати залишки


2
Це технічно найбільш правильна відповідь і саме для чого вона була розроблена.
mpowered

"implode - видаляє всі рубінові інсталяції, якими керує, все в ~ / .rvm"
Nein,

5
  1. Це робота для мене на Ubuntu 16.04. Для мене, коли я виконував командні напрямки -v, він видавав помилки через NameError. Я встановив 3 версії рейок (4.2.0, 4.2.6, 5.0.0.1). Я намагався видалити непотрібний gem за допомогою команди gem uninstall rails -v номер версії v, але я не зможу, але я знайшов спосіб вирішити цю проблему. Для того, щоб видалити всі дорогоцінні камені, вам потрібно прокрутити всі записи у списку дорогоцінних каменів за допомогою скриптів bash. Цей спосіб дуже незручний. Завдяки Rubygems 2.1.0 тепер ви можете зробити це за допомогою однієї команди.

    КРОК 1

    По-перше, переконайтеся, що ви оновили свої Rubygems до версії 2.1.0 або новішої. Для цього запустіть цю команду (якщо ви працюєте над старішою версією. Ви можете перевірити версію свого каменя за допомогою цієї команди будь-який з них gem -v або gem --version )

    оновлення дорогоцінного каменя --система

    самоцвіт --версія

    КРОК - 2

    Запустіть цю команду у своєму терміналі

    видалення дорогоцінного каменя --всі

    Крок - 3

    Встановіть комплекти gem (не потрібно, я думаю, лише для запобіжних заходів) gem install bundle

    Крок - 4
    Встановіть рейки у вашій системі за допомогою цієї команди gem install rails -vspecific version you want to install Ви можете перевірити версію рейок на офіційному сайті reils усіх версій приклад: - Я встановив версію 4.2.6 rails, ви встановлюєте відповідно до вимог. рейки для встановлення самоцвітів -v 4.2.6

    Крок - 5

    Нарешті, перевірте версію встановленої програми rails framework за допомогою базової команди rails -v . Це повторить поточну версію каркасів рейок. Насолоджуйтесь :)

    Список літератури

http://ruby-journal.com/how-to-uninstall-all-ruby-gems/ http://guides.rubyonrails.org/v4.1/getting_started.html


2

Крок 1:

Спочатку я постійно стикався з помилкою:

У вас немає дозволів на запис для каталогу / usr / bin

Щоб отримати дозвіл, я став кореневим користувачем із (це потенційно небезпечно з причин, що перевищують моє поточне розуміння) :

sudo -s

Кредит

Крок 2:

Потім я постійно стикався з помилкою:

[gem] не можна видалити, оскільки він є gem за замовчуванням

Це дозволило мені все видалити:

for i in `gem list --no-versions`; do gem uninstall -aIx $i; done

Кредит

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.