Удаление рельсов и драгоценных камней, получение ошибки «Не удалось удалить, проверять список GEM -D ...»
-
25-09-2019 - |
Вопрос
Я собираюсь начать с обычной линии 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, но я мог бы ошибаться). То, что вам нужно сделать, это (вы должны сделать это один за другим для каждого драгоценного камня, или, по крайней мере, мне пришлось):
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
- Некоторые драгоценные камни до сих пор могут не удалить возвращение ошибки разрешений. Если это так, то то, что вам нужно сделать, это создать папку / бин, на пути выше. (в моем случае,
mkdir /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/bin
- Продолжайте удалять как на шаге 2, все еще используя оригинальный путь (/system/library/frameworks/ruby.framework/version/1.8/usr/lib/ruby/gems/1.8).
Теперь все удаления должны работать!
Другие советы
Две вещи, которые вы должны обратить внимание при использовании RVM:
Вам следует НИКОГДА использовать
sudo
установить драгоценные камни, просто сделайтеgem install xxx
Вы не можете удалить драгоценные камни, установленные в Глобальный Гемсет из другого геемет. Вы должны переключиться на глобальный жестчик и удалить оттуда:
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 для управления моими кругами и не выбрал жест. Я не был на том, чтобы я выбрал не тот гесет, именно то, что я не выбрал драгета вообще. Прекрасный способ провести большую часть часа моего первого утра обратно после моих летних каникул!