Bundler - загрузить несколько Gemfiles - PullRequest
17 голосов
/ 01 ноября 2011

Просто любопытно, есть ли простой способ загрузить более одного Gemfile из приложения Ruby.

Если вы (весьма разумно) задаетесь вопросом, почему я сделал бы такую ​​сумасшедшую вещь ...

Ситуация такова, что у меня есть один главный сервер (который имеет свои собственные требования), который может при реализации загружать модули из любого числа других путей в системах, и каждый путь, прямо сейчас, имеет свой собственный Gemfile длягемы, используемые этим модулем.

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

Ответы [ 4 ]

14 голосов
/ 03 ноября 2011

Gemfile - это "просто Ruby". Вы можете искать любые другие Gem-файлы и включать их, если хотите ...

Обновление: см. http://madebynathan.com/2010/10/19/how-to-use-bundler-with-plugins-extensions/

14 голосов
/ 03 января 2013

Я использую это в своем Gemfile:

if File.exists?('Gemfile.devel') then
  eval File.read('Gemfile.devel'), nil, 'Gemfile.devel'
end

Последний аргумент для eval делает исключения в Gemfile.devel с правильным именем файла.

4 голосов
/ 11 августа 2015

Я также нашел это решение с использованием eval_gemfile http://gavinmorrice.com/blog/posts/32-how-to-load-one-gemfile-from-another-gemfile-in-ruby

0 голосов
/ 03 ноября 2011

Если я понимаю ваш вопрос, capistrano - это способ развертывания с учетом комплектации.

...