Gemfile с точными версиями против Gemfile.lock
Есть ли разница между указанием точных версий сторонних библиотек в Gemfile
и используя Gemfile.lock
?
Если я использую точные версии в Gemfile
это будет так же, как распределение Gemfile.lock
?
2 ответа
Нет, точно указано Gemfile
и используя Gemfile.lock
не такой же.
Ваш Gemfile
может включать в себя все драгоценные камни, которые вы используете с определенной версией. Но Gemfile.lock
также будет включать в себя все драгоценные камни, которые являются зависимостями от используемого вами драгоценного камня. Это означает, что типичный Gemfile.lock
будет включать в себя гораздо больше драгоценных камней, когда Gemfile
,
Более того: у вас могут быть драгоценные камни или версии драгоценных камней для вашего Gemfile
которые несовместимы друг с другом. Gemfile.lock
генерируется компоновщиком и представляет собой набор версий гемов, которые совместимы друг с другом. Если упаковщик не может выполнить все необходимые зависимости, он не будет генерировать Gemfile.lock
,
Тем не менее: Pin только версии в вашем Gemfile
что вам нужно закрепить из-за требований к версии вашего приложения. Позвольте бандлеру найти правильную комбинацию и проверить, что Gemfile.lock
в систему контроля версий.
если я переименую Gemfile.lock в Gemfile,
bundle install
выходит из строя с синтаксической ошибкой.