Можете ли вы отключить Bundler в рельсах 3? - PullRequest
2 голосов
/ 28 декабря 2010

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

ОБНОВЛЕНИЕ в ответ на комментарии:

Вот несколько примеров из головы:

  1. разработчик A использует предварительную версиюgem, поэтому, когда он запускает «обновление пакета», Gemfile.lock испортится для всех остальных, и если вы развернете его, он перейдет на ваш сайт.наши серверы, перезагрузите рельсы и ура, исправлена ​​ошибка!Ох, но подождите, это не исправлено?Спасибо, упаковщик.Что должно было быть легко исправить, так это развернуть полный код на наших серверах.

Это всего лишь пара из головы.По крайней мере, давайте решим, хотим ли мы заблокировать версии gem или, по крайней мере, разрешить диапазон версий, например, любую версию 2.X.

ОБНОВЛЕНИЕ 2: И еще одна проблема, когда на Windows есть разработчики Windows.команда

Вот что появляется в Windows Gemfile.lock:

nokogiri (1.4.4)
nokogiri (1.4.4-x86-mingw32)

Ого, это просто потрясающе.Конечно, облегчает командную работу и развертывание.

Ответы [ 2 ]

2 голосов
/ 29 декабря 2010

Я рекомендую начать использовать два метода при разработке и развертывании:

Укажите номер версии драгоценных камней в вашем файле gem.

Например:

gem "rails", "3.0.1"
gem "will_paginate", "~> 3.0.pre2"

Таким образом, когда вы решите, что хотите обновить rails или will_paginate, измените номера версий в вашем gemfile.

Обновите только определенные гемы

Вместо общей команды bundler update, выполните

bundler update rails

Это обновит только драгоценный камень рельсов до последней версии, а не получит самую последнюю из всех драгоценных камней.

Если вы используете оба1 и 2, вы будете счастливее.

0 голосов
/ 09 января 2011

Тогда просто не проверяйте ваш Gemfile.lock в системе контроля версий. Все перечисленные вами конкретные проблемы решены.

Конечно, вы жертвуете огромным преимуществом, которое дает вам Bundler, по сравнению с любой другой системой управления зависимостями.

...