Когда мой коллега запустит «пакетную установку», установит ли он новейшие гемы или те, что в Gemfile.lock? - PullRequest
2 голосов
/ 25 марта 2011

Это потому, что на gembundler.com написано:

Обязательно добавьте Gemfile.lock в свой репозиторий. Это обеспечит другие разработчики в вашем приложении, а также в качестве среды развертывания используйте точно такой же сторонний код как Вы только что установили.

Итак, предположим, я просто говорю

gem 'rails'

поэтому, когда мой коллега сделает bundle install 3 месяца спустя, когда выйдет Rails 3.0.6 или новее, он установит 3.0.6 или тот, который находится в Gemfile.lock? (сейчас это 3.0.5)

Если все должно быть точно в соответствии с Gemfile.lock, то какова процедура обновления Gemfile.lock? Убедитесь, что все тесты пройдены, и затем как-нибудь скажите Bunlder обновить все гемы до последних версий, и снова запустите тесты и убедитесь, что они прошли, а затем зафиксируйте этот новейший Gemfile.lock?

Ответы [ 2 ]

7 голосов
/ 25 марта 2011

bundle install установит версии гемов, найденные в Gemfile.lock.Для обновления до последних разрешенных версий вы должны запустить bundle update (также обновляет Gemfile.lock).Если после обновления что-то пойдет не так (например, тесты не пройдены), вы можете вернуться к предыдущей версии Gemfile.lock в хранилище и снова запустить bundle install, чтобы получить ранее работающие версии гемов.Кроме того, отдельные гемы могут быть обновлены на bundle update <gem_name>, например bundle update rails (что также разрешает зависимости и обновляет Gemfile.lock).

1 голос
/ 25 марта 2011

На сайте gembundler.com есть много ответов.Вы должны проверить обоснование страницы.

...