【发布时间】:2012-05-07 06:45:25
【问题描述】:
我制作了一个gem 供自己在控制台中使用。我希望能够随时随地使用它。
如果不将它放入我的 Gemfile 中,我无法弄清楚如何让 Bundler 识别它,但这需要我团队中的其他人知道并安装它。
有没有办法让 Bundler 覆盖我选择的 Gemfile?或者以某种方式让我的 gem 普遍可用,即使它没有在我的 Gemfile 中列出?
【问题讨论】:
我制作了一个gem 供自己在控制台中使用。我希望能够随时随地使用它。
如果不将它放入我的 Gemfile 中,我无法弄清楚如何让 Bundler 识别它,但这需要我团队中的其他人知道并安装它。
有没有办法让 Bundler 覆盖我选择的 Gemfile?或者以某种方式让我的 gem 普遍可用,即使它没有在我的 Gemfile 中列出?
【问题讨论】:
您可以通过将它放在 Gemfile 的末尾并 gitignore Gemfile.dev.rb 来绕过 bundler:
dev_gemfile = File.expand_path("Gemfile.dev.rb", File.dirname(__FILE__))
instance_eval(File.read(dev_gemfile)) if File.exists?(dev_gemfile)
如果他们的 Gemfile.dev.rb 不匹配,您的 Gemfile.lock 在不同开发人员的机器上将不匹配,但我只关心生产中的完全匹配。如果您有多个平台并且可以以相同的方式解决,那么开发人员和生产人员之间的微小更改已经是一个问题。
【讨论】: