Если указывать ли версии GEM-версий в GemFile или не для приложения Rails

Я хочу знать, должен ли я указать версию GEM для каждого драгоценного камня, которую я добавляю в GemFile или нет. Ранее с небольшим количеством моих проектов я не указывал никаких версий для всех драгоценных камней, и Бандлер позаботился об этом, который работал довольно хорошо.

Но недавно я должен работать над несколькими проектами, которые были в разработке за последние 6 месяцев. В этом проекте многие версии GEM были указаны только в GemFile, а Gemfile.lock был проигнорирован. Это вызвало большую головную боль, чтобы наконец разрешить конфликты версии и обновить несколько драгоценных камней.

Также познакомиться с тем, что это плохая практика для удаления GEMFile.lock из элемента управления версиями приложения - хорошая статья Yehuda - http://yehudakatz.com/2010/12/16/Clarification-the-roles-of - THE-GEMSPEC-AND-GEMFILE /

Итак, мой вопрос должен ли я указать версию для каждого GEM IS SPEMIFIII в GemFile или просто укажите имя и Bundler позаботится о версии? Что такое лучшая практика, чтобы справиться с этим?

Обновление -

Обновление этого вопроса, чтобы правильно указать проблему, в качестве драгоценных советских совет Много проблем :)

Проб 1 - каждый разработчик должен иметь одинаковую версию драгоценных камней. На самом деле добавляя Gemfile.lock в управление версией решают эту проблему. Разработчики просто должны позаботиться о том, что они бегают «Bundle Install» / «Bundle», а не «Обновление Bundle», так как это будет обновлять версии.

Проб 2 - некоторые драгоценные камни версии, если они изменяются, тормозит код приложения. На самом деле с Omniauth есть этот тип проблем, поскольку API изменяется с одной версии на другую. И да, чтобы сохранить приложение, версии должны быть указаны для этих драгоценных камней.

Мой проб. - Таким образом, в моем драгоценном стиле, так как версии как для A и B строго указываются, и поскольку они оба зависят от разных версий z, что существует зависимость, я даже не могу запустить установку пучка или обновления пучка. Единственное решение было удаление версий и пусть Bundler взять звонок. Вот почему у меня был вопрос, как - Gemfile.version_specification_mandatory? # => true / false

10
задан rtdp 9 September 2011 в 05:30
поделиться