我们的Rails应用程序从多个来源提取源。拉动这些提要的工作人员需要rmagick,oracle数据库和许多其他宝石的gem依赖关系。简而言之,它们与主要的Web应用程序有着非常不同的依赖性需求。直到Rails 3和Bundler,生活都很好。如何在单个Rails项目中处理Bundler中不同的gem依赖关系?
这些工人gem依赖与我们的实际生产网站无关。在Rails 3下,一个Gemfile预计将包含所有这些依赖关系。这具有要求在生产应用程序中加载所有gem依赖关系的恶劣副作用,这会导致无意义的膨胀,可能的安全问题,内存泄漏,复杂的部署以及其他问题。可悲的是,Bundler打破了标准的需求机制,通过允许我们只需要在工作人员中需要必要的宝石,并将它们放在系统的某个位置,而不是捆绑在一起,就可以摆脱困境。工作人员使用我们的导轨模型来存档他们的数据。
任何人都可以提出解决方案,使系统在Rails 3中实用吗?我试图让Gemfile在各处使用条件环境变量来驱动gem命令,但是,似乎Gemfile.lock可能会使这个问题从一个工作者脚本(对于提要)工作到另一个工作者脚本,不同的依赖关系。帮帮我???