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


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.