这是我目前的情况:
我正在研究 Rails 引擎(“awesome_engine”)。我通过主机应用程序进行所有开发,即使用 :path 参数将此引擎指定为 Gemfile 中的依赖项的 Rails 应用程序
gem "awesome_engine", :path => "awesome_engine"
这很好用 - 引擎 gem 文件夹相对于主机应用程序的根目录位于“awesome_engine”下。然而,“awesome_engine”引用了一个也在开发中的 gem,“awesome_core”。awesome_engine/Gemfile 因此读取:
gem "awesome_common", :path => "../awesome_core"
这个设置的问题似乎是 Bundler 在为主机 rails 应用程序创建应用程序包时没有在 awesome_engine/ 中寻找 Gemfile,它只从“awesome_engine”的 gemspec 中读取依赖项,这对于任何单个 gem 都很好您希望在其“未打包”状态下加载,当您想同时处理相关 gem 的图表时,这不是很好
我是吗
a) 试图咬掉比我能咀嚼的更多的东西,应该在主机应用程序的 Gemfile 中转储“awesome_core”,而它正在开发中并对此感到满意(我不会:-))
b) 遗漏了一些关于如何让 Bundler 执行此操作的琐碎内容
c) 以上都不是(请注明:_ __ _ ____)
谢谢!安德拉斯
ps:我知道 Bundler 不会解析“awesome_engine/Gemfile”,因为 a)如果我在其中放入垃圾包,则主机应用程序中的捆绑安装仍然可以正常运行 b)该文件中的其他依赖项都不会最终出现在主机应用程序应用程序包中