Bundler - 加载多个Gemfiles

时间:2011-11-01 05:21:14

标签: ruby bundler

很好奇是否有一种从Ruby应用程序加载多个Gemfile的简单方法。

如果你(非常明智地)想知道为什么我会做这么疯狂的事情......

情况是我有一个主服务器(有自己的要求),在实现中,可以从系统上的任意数量的其他路径加载模块,并且每个路径现在都有自己的Gemfile用于该模块使用的宝石。

现在我正在通过编辑服务器的Gemfile来包含任何模块使用的所有宝石,这似乎有效,但它肯定是不优雅的。

4 个答案:

答案 0 :(得分:14)

Gemfile是“只是Ruby”。您可以搜索所需的任何其他Gemfiles并包含它们,如果您想...

更新:请参阅http://madebynathan.com/2010/10/19/how-to-use-bundler-with-plugins-extensions/

答案 1 :(得分:14)

我在我的Gemfile中使用它:

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

eval的最后一个参数使Gemfile.devel中的异常显示正确的文件名。

答案 2 :(得分:4)

答案 3 :(得分:0)

如果我理解你的问题,capistrano是一种捆绑器识别的部署方式。