По умолчанию, если в Gemfile не указана версия, при запуске bundle install
будет предпринята попытка установить последнюю версию гема, которая совместима с остальными версиями гемов и рубинов в вашем проекте. Это создаст файл Gemfile.lock, если он еще не существует. Если файл Gemfile.lock уже зафиксирован для git repo, он должен установить версии, указанные в Gemfile.lock. Задача компоновщика - работать с зависимостями, чтобы гарантировать, что ваш стек работает правильно.
Чтобы увидеть версию сборщика гемов, вы можете запустить
bundle show rails
Возможно, вы захотите указать версию ruby в Gemfile, например
ruby '~> 2.5' #
Вы можете указать точную версию гема в Gemfile, например, такую, на которую вы сможете положиться, чтобы быть установщиком версий, если он совместим с остальной частью стека. bundle install
выдаст ошибки, если есть несовместимые версии гемов.
gem 'rails', '4.2.11' # this will always install only this version.
Вы также можете использовать пессимистический оператор (~>)
для установки только незначительных обновлений
gem 'influxdb', '~> 0.6.1' # could go to 0.6.2 but never 0.7.0
Вы также можете установить минимальные версии, подобные этой, хотя это, вероятно, не то, что вам нужно для вашего вопроса.
gem 'pg_query', '>= 0.9.0'
Если в вашем репозитории уже есть Gemfile.lock, вы можете увидеть, какая версия будет установлена, запустив, например:
gem show rails
Который покажет вам версию и узнает, установлена она или нет.
Подробнее см. bundle --help