Помогите с Bundler выяснить, почему он "понизил" один из моих драгоценных камней - PullRequest
3 голосов
/ 25 августа 2011

Сегодня я проверил gem outdated, как я делаю периодически.Нашел несколько, которые нуждались в обновлении:

$ gem outdated
ZenTest (4.6.1 < 4.6.2)
bcrypt-ruby (2.1.4 < 3.0.0)
factory_girl (2.0.4 < 2.0.5)
fog (0.10.0 < 0.11.0)
hike (1.2.0 < 1.2.1)
net-ssh (2.1.4 < 2.2.1)
rb-fsevent (0.4.3 < 0.4.3.1)
rdoc (3.9.2 < 3.9.3)
selenium-webdriver (2.4.0 < 2.5.0)

Так что я gem update их, а затем bundle update.Заметили, bundle update чувствовал себя вынужденным установить более старую версию fog : Installing fog (0.9.0)?И не уверен, как выяснить, что вызывает понижение этой зависимости.Все работало нормально под fog 0.10.0.

gem dependency -R fog говорит, что только Carrierwave требует этого ... и carrierwave не изменился, а был счастлив от тумана 0.10.0.

Есть идеи?Или инструменты, которые я могу использовать для устранения неполадок / понимания этого?

1 Ответ

0 голосов
/ 25 августа 2011

В вашем гемфайле и в компоновщике считается хорошей практикой не обязательно использовать самую последнюю и новейшую версию гема.

Например, если в вашем гемовом файле есть строка, например:

gem 'globalize3', "~> 0.1.0"

... он получит самый последний драгоценный камень, такой как 0.1.2, 0.1.3 и т. Д., Но никогда не будет использовать 0.2.1

Это необходимо для обеспечения обратной совместимости между гем-зависимостями.Бандлер, вероятно, следует этой практике в отношении тумана.

...