Удаление рельсов и драгоценных камней, получение ошибки «Не удалось удалить, проверять список GEM -D ...»

StackOverflow https://stackoverflow.com/questions/4007074

Вопрос

Я собираюсь начать с обычной линии Noob, «Я новичок в рельсы». Ох, и я бегу Mac OSX 10.6.4

Я следовал за кучей гидов, чтобы настроить, специально эти два здесь а также здесь. Отказ Руководства великолепны, причина, по которой я использую вторую, из-за RVM и причина, по которой я использую первый для MySQL.

Во всяком случае, когда я начал, я полностью не следовал указаниям, и поэтому после того, как я установил RVM, по какой-то причине я установил рельсы с sudo gem install rails -v 2.3.8 Потому что это версия, которая мне нужна. Итак ... Я понял, что использую систему Ruby, и не воспользовался из РВМ. То, что я сделал сейчас, был установлен Ruby 1.9.2, поэтому я могу устанавливать Rails 3 и проверить его, и я также установил 1,8,7 и рельсы 2.3.8, чтобы я мог использовать его для того, что мне это нужно.

Теперь я пытаюсь удалить драгоценные камни из системы Ruby, но всякий раз, когда я пытаюсь получить эту ошибку:

Ошибка: во время выполнения драгоценного камня ... (GEM :: InstallError)
Не удалось удалить, проверять список GEM -D -D какой бы драгоценный камень я пытаюсь удалить'

Любые идеи о том, как удалить рельсы и все эти драгоценные камни? Я просто хочу начать с нуля с RVM.


ОБНОВИТЬ:

Запустив команду gem list -d rails Я расположен драгоценные камни в /system/library/frameworks/ruby.framework/versions/1.8/usr/lib/ruby/gems/18. Должен ли я удалить их вручную?

Это было полезно?

Решение

РЕШЕНИЕ! Я до сих пор не понимаю, почему это произошло, я бы понравилось, если бы кто-то мог объяснить. Почему путь не существует? Что вызвало эту ошибку?

Кроме того, я хочу упомянуть, что решение, которое я связал, имеет комментарий, говорящий, что вопрос является дубликатом. Тем не менее, оригинал имеет другое решение и не помог мне (хотя это основание для поиска этого ответа). Просто удаление драгоценных камней вручную в Finder не удалит их из списка GEM.

Без дальнейших церемоний - Оказывается, при попытке удалить драгоценный камень, он не может найти свой путь (я думаю, что проблема в том, что это из-за установки с sudo, но я мог бы ошибаться). То, что вам нужно сделать, это (вы должны сделать это один за другим для каждого драгоценного камня, или, по крайней мере, мне пришлось):

  1. gem list -d 'name of gem' И обратите внимание на местоположение «Установлено на:» (в моем случае, /system/library/frameworks/ruby.framework/versions/1.8/usr/lib/ruby/gems/1.8)
  2. sudo gem uninstall 'name of gem' -i 'the path noted above' (например, в моем случае, sudo gem uninstall rails -i /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8
  3. Некоторые драгоценные камни до сих пор могут не удалить возвращение ошибки разрешений. Если это так, то то, что вам нужно сделать, это создать папку / бин, на пути выше. (в моем случае, mkdir /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/bin
  4. Продолжайте удалять как на шаге 2, все еще используя оригинальный путь (/system/library/frameworks/ruby.framework/version/1.8/usr/lib/ruby/gems/1.8).

Теперь все удаления должны работать!

Другие советы

Две вещи, которые вы должны обратить внимание при использовании RVM:

  1. Вам следует НИКОГДА использовать sudo установить драгоценные камни, просто сделайте gem install xxx

  2. Вы не можете удалить драгоценные камни, установленные в Глобальный Гемсет из другого геемет. Вы должны переключиться на глобальный жестчик и удалить оттуда:


 rvm gemset use global
 gem uninstall xxx

Выполните это либо в IRB или в правильном скрипте:

`gem list --no-versions`.split("\n").each do |gem|
  `gem list -d #{gem}`.gsub(/Installed at(.*):.*/).each do |dir|
    dir = dir.gsub(/Installed at(.*): /,'').gsub("\n", '')
    system "gem uninstall #{gem} -aIx -i #{dir}"
  end  
end

Попробуйте так:

sudo apt purge rails

да я вижу....

На данный момент, если вы в терминале, это не должно брать, но несколько минут, чтобы переустановить весь шебанг

Я подозреваю, что вы не можете быть в правильном имени RVM, которое имеет драгоценные камни, которые вы пытаетесь установить так, поэтому я предложил переустановить Rubygems и строить, вы создаете основные драгоценные камни с самого начала в вашем Global Имя Гемсет RVM.

Более универсальный ответ на удаление всех драгоценных камней для более старых версий GEM 1.8.

Список GEM --NO версии | xargs sudo gem dinstall -aix

Я использовал RVM для управления моими кругами и не выбрал жест. Я не был на том, чтобы я выбрал не тот гесет, именно то, что я не выбрал драгета вообще. Прекрасный способ провести большую часть часа моего первого утра обратно после моих летних каникул!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top