Помогите с Bundler выяснить, почему он понизил рейтинг одного из моих драгоценных камней

Сегодня я проверил 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.

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


person Meltemi    schedule 25.08.2011    source источник
comment
Ваш файл Gemfile.lock должен отображать иерархию зависимостей, чтобы помочь понять, что еще может потребовать версию 0.9.x fog.   -  person Dylan Markow    schedule 25.08.2011


Ответы (1)


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

Например, если в вашем gemfile рельсов есть строка, такая как:

гем 'globalize3', "~> 0.1.0"

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

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

person allesklar    schedule 25.08.2011