Удаление рельсов и драгоценных камней, получение ошибки "не удается удалить, проверить" gem list -d... "

Я собираюсь начать с обычной строки noob: "Я новичок в рельсах". О, и я запускаю Mac OSX 10.6.4

Я следил за набором руководств, которые нужно настроить, в частности, эти здесь и . Гиды велики, причина, по которой я использую вторую, - это из-за RVM и причина, по которой я использую первую, для MYSQL.

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

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

ОШИБКА: при выполнении gem... (Gem:: InstallError)
  не удается удалить, отметьте 'gem list -d любой камень, который я пытаюсь удалить

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


UPDATE:

Запустив команду gem list -d rails, я нашел драгоценные камни в /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/18. Должен ли я удалить их вручную?

Ответ 1

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

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

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

  • gem list -d 'name of gem' и отметьте место "Установлено в:" (в моем случае, /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8)
  • 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
  • Некоторые драгоценные камни, возможно, не удалят удаление ошибки разрешений. Если это так, то вам нужно создать папку /bin по пути выше. (в моем случае mkdir /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/bin
  • Продолжайте удаление, как на шаге 2, все еще используя исходный путь (/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8).

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

Ответ 2

Две вещи, которые вы должны учитывать при использовании rvm:

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

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


 rvm gemset use global
 gem uninstall xxx

Ответ 3

выполните это либо в irb, либо в собственном script:

`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

Ответ 4

попробуйте следующим образом:

sudo apt purge rails

Ответ 5

ok я вижу....

в этот момент, если вы находитесь в терминале, не требуется всего несколько минут, чтобы переустановить весь shebang

Я подозреваю, что вы не можете быть в правильном имени rvm, у которого есть драгоценные камни, которые вы пытаетесь установить, поэтому я предлагаю переустановить rubygems и построить вас - это основные драгоценные камни с самого начала в вашем Global rvm gemset имя.

Ответ 6

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

gem list --no-versions | xargs sudo gem uninstall -aIx

Ответ 7

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