Ruby зачем использовать gemset если есть bundler?

Здравствуйте
В качестве менеджера версий Ruby использую RVM. Не могу понять для каких целей использовать отдельные gemset'ы в рельсовых проектах. Ведь можно просто прописать гемы в Gemfile , сделал bundle install и они заблокировались в файле Gemfile.lock .
  • Вопрос задан
  • 3272 просмотра
Решения вопроса 1
@Kane
Гемсеты нужны, если нет bundler
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 5
@Ph-s
В бандлере есть подвох.

Да, Бандлер ставит указанные в гемфайле версии.
Но:
1) ставит их глобально
2) не контролирует использование нужных версий

То есть контролировать может, но для этого перед каждой командой нужно писать bundle exec -иначе гемфайл игнорируется, и используются последние версия гемов, установленные глобально.

А вот с gemset'ами гемы ставятся локально под каждый сет, и есть гарантия использования нужной версии гемов.
Ответ написан
Комментировать
Freika
@Freika
Senior Ruby on Rails developer
Ну вообще вроде как гемсеты делают, чтобы группировать гемы и не засорять ненужными их версиями систему. Но я тоже как-то не использую их, вообще.
Ответ написан
Комментировать
@vsuhachev
Эти технологии развивались параллельно, в итоге получилось, что при разработке удобнее использовать гемсеты, а для разворачивания приложения - бандлер.
Ответ написан
opium
@opium
Просто люблю качественно работать
не везде есть бандл
Ответ написан
Комментировать
В тех же рельсах не всегда был Bundler, а RVM тогда уже был)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы