В списке драгоценных камней показаны две версии драгоценных камней Ruby сразу после обновления. - PullRequest
5 голосов
/ 29 ноября 2011

Я только что обновил самоцвет mime-types с помощью gem update mime-types.gem list отображается mime-types (1.16) до обновления.После обновления gem list показывает mime-types (1.17.2, 1.16).Почему отображаются две версии?

Дополнительная информация: У меня есть другие проекты Rails на одном компьютере.Я не обновлял самоцвет mime-types в других проектах.Запуск gem list из каталога другого проекта (где MIME-типы не были обновлены) отображает mime-types (1.16).

Ответы [ 3 ]

3 голосов
/ 29 ноября 2011

У вас установлены обе версии.Если вы хотите удалить старые версии (что не всегда возможно из-за зависимостей), используйте gem cleanup.

1 голос
/ 29 ноября 2011

Это может произойти из-за зависимостей драгоценных камней.

Например, если другой драгоценный камень зависит от этого драгоценного камня, а другой драгоценный камень не имеет версии, указанной для него, и (или) он обновляется, и еслиего зависимость от версии этого драгоценного камня меняется ... ну, вы поняли.
Иногда я делаю связку и вижу, как загружается масса новых версий.Все из-за измененных ... зависимостей.

1 голос
/ 29 ноября 2011

Какая версия RubyGems у вас есть? gem -v

Это интересно: у меня самая новая версия RubyGems, но моя система ведет себя по-другому:

gem list => все драгоценные камни, все версии. Неважно, откуда я это называю.
gem list --local => То же, что и раньше, но для всего пользователя.

bundle list => все драгоценные камни в проекте (одна версия на драгоценный камень)

То же самое относится к bundle update и gem update.

bundle update заменяет старую версию новой (зависимости обрабатываются компоновщиком), но gem update сохраняет обе. Поэтому, если вы хотите сохранить только самую последнюю версию, запустите gem cleanup.

bundle outdated может быть полезно: он отображает устаревшие драгоценные камни в вашем проекте (на основе rubygems.org)

...