Не могу обновить RubyGems - PullRequest
       22

Не могу обновить RubyGems

11 голосов
/ 23 декабря 2009

У меня проблемы с обновлением RubyGems с версии 1.1.1 до новейшей. Я пробовал следующее:

Обновление самоцвета

Результат:

Обновление установленных гемов
Массовое обновление исходного индекса Gem для: http://gems.rubyforge.org/
Нечего обновлять

и

gem install rubygems-update

Результат:

Массовое обновление исходного индекса Gem для: http://gems.rubyforge.org/
Массовое обновление исходного индекса Gem для: http://gems.rubyforge.org/
ОШИБКА: Ошибка установки обновления rubygems:
Для обновления rubygems требуется строитель (> = 0)

и

gem install rubygems-update update_rubygems

Результат:

Массовое обновление исходного индекса Gem для: http://gems.rubyforge.org/
Массовое обновление исходного индекса Gem для: http://gems.rubyforge.org/
ОШИБКА: Ошибка установки обновления rubygems:
Для обновления rubygems требуется строитель (> = 0)
ОШИБКА: не удалось найти update_rubygems локально или в хранилище

Затем я проверил, как подсказывает theIV на аналогичный вопрос, было ли у меня http://gems.rubyforge.org/ в моих удаленных источниках. Вот окружение драгоценных камней:

Среда RubyGems:
- RUBYGEMS VERSION: 1.1.1
- РУБИНОВАЯ ВЕРСИЯ: 1.8.6 (2008-08-11, уровень обновления 287) [универсальный-darwin9.0]
- КАТАЛОГ УСТАНОВКИ: /Library/Ruby/Gems/1.8
- RUBY EXECUTABLE: /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby
- ПЛАТФОРМЫ RUBYGEMS:
- рубин
- универсал-дарвин-9
- ДРАГОЦЕННЫЕ ПУТИ:
- /Library/Ruby/Gems/1.8
- /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8
- КОНФИГУРАЦИЯ КАМНЯ:
-: update_sources => true
-: verbose => true
-: бенчмарк => ложь
-: backtrace => false
-: bulk_threshold => 1000
- УДАЛЕННЫЕ ИСТОЧНИКИ:
- http://gems.rubyforge.org

Так что, да, есть идеи?

Ответы [ 7 ]

10 голосов
/ 09 февраля 2010

Нет необходимости предпринимать такие радикальные шаги, как полная перестройка Ruby, переустановка Rubygems с нуля или установка менеджера версий для решения этой проблемы. В выпуске мотыги 2.3.0 появился цикл зависимости:

rubygems-update 1.3.5 требует (помимо прочего) hoe-seattlerb
hoe-seattlerb требует мотыгу> = 2.3.0
мотыга> = 2.3.0 требует рубинов> = 1.3.1

Я написал сообщение в блоге , на которое ссылается zipizap. Напомним:

  1. Если вы уже пытались обновить, сначала удалите последнее обновление rubygems: sudo gem uninstall rubygems-update -v 1.3.5
  2. Обновление до 1.3.0: sudo gem install rubygems-update -v 1.3.0
  3. sudo update_rubygems
  4. Затем обновите до последней версии: sudo gem update --system

С выпуском Rubygems 1.3.6 похоже, что эта проблема может исчезнуть. Из заметок о выпуске:

  • Разработка больше не добавляется в gem rubygems-update, так что старше версии могут успешно обновляться.
7 голосов
/ 23 декабря 2009

Ой - Я чувствую твою боль. Сначала я спрошу очевидное; Вы выполняли команды с помощью sudo? Таким образом, вы будете использовать sudo gem install rubygems-update и sudo update_rubygems .

Если это не сработает, снова загрузите источник гемов и восстановите его с нуля (возможно, вы захотите стереть предыдущую загрузку исходного кода и т. Д.). Возможно, вы захотите прочитать статью HiveLogic по установке Ruby, RubyGems и т. Д. На Mac OS Snow Leopard .

Если это не сработает ... :) Я мог бы также сделать радикальные изменения и перестроить Ruby.

5 голосов
/ 14 февраля 2010

Аналогичная проблема, другое решение

$ sudo gem install rubygems-update update_rubygems
Updating metadata for 1 gems from gems.rubyforge.org/
.
complete
ERROR:  Error installing rubygems-update:
        rubygems-update requires builder (>= 0)
ERROR:  could not find update_rubygems locally or in a repository

и

$ sudo gem update --system
ERROR:  While executing gem ... (RuntimeError)
    gem update --system is disabled on Debian. RubyGems can be updated using the official Debian repositories by aptitude or apt-get.                      

Мое решение: Перейти к http://docs.rubygems.org/read/chapter/3#page13

и установить вручную, т.е. получить rubygems .... tgz и установить его.

Надеюсь, это кому-нибудь поможет.

1 голос
/ 01 февраля 2010

Кажется, что проблема обнаружена и сообщена как цикл зависимости: для установки новой версии-gems-версии необходимы некоторые новые-зависимости-версии ... да, это беспорядок. Рекомендуемое решение I ' мы видели, как выполнить обновление в пошаговой промежуточной версии, чтобы сделать переход обновления гладким, с небольшими пробелами в версии. Прочитайте это в этой статье, которая объясняет это очень хорошо: текст ссылки

Прочитав и попробовав пару раз, я увидел, что это все еще очень нечетко / сложно.

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

  • Установить более новую версию ruby ​​+ irb + rdoc + gem (бок о бок с уже существующей старой версией)

  • Теперь установите гем "Ruby Version Manager" (нет проблем в debian / ubuntu, он может скомпилировать последнюю версию ruby) текст ссылки

  • Используйте RVM для установки окончательной и последней версии ruby ​​(снова рядом) и поддержания ее в актуальном состоянии.

  • (теперь вы можете использовать RVM для удаления более старых версий ruby ​​/ gems в вашей системе и сохранять только последнюю версию ruby)

Если вам это нужно для производственной системы, RVM уже считается достаточно зрелым, чтобы поддерживать рубин / гемы в новых версиях.

Надеюсь, это поможет таким начинающим, как я, "убрать с дороги"

1 голос
/ 26 января 2010

Я столкнулся с подобной проблемой, и я смог обновить, выполнив это: Обновление sudo gem --system

1 голос
/ 23 декабря 2009

Удачи с gem install builder? Похоже, это то, что вам нужно, чтобы установить rubygems-update.

0 голосов
/ 23 декабря 2009

Перестройте его из источников.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...