【问题标题】:Self contained Rails plugin with gem depdencies?具有 gem 依赖项的自包含 Rails 插件?
【发布时间】:2011-07-19 09:18:05
【问题描述】:

我正在创建一个 Rails 插件(是的,我需要一个插件,而不是 gem)。

这个插件有几个 gem 依赖项。我的第一个想法是在插件目录根目录的 Gemfile 中列出依赖项。

从 install.rb 中,我执行了以下操作:

`bundle install`

然后从 init.rb,我做了以下事情:

require 'rubygems'
require 'bundler/setup'
Bundler.require

但是bundler肯定不是这些依赖。

我确实不希望必须在根 Gemfile 中列出 gem 依赖项。

有什么方法可以将这些 gem 包含在插件中并让它工作而不需要最终用户更改他们自己的 Gemfile?如果有其他机制可以为 Rails 插件引入 gem 依赖项,我不反对完全放弃 Bundler?

【问题讨论】:

    标签: ruby-on-rails plugins bundler


    【解决方案1】:

    它不需要您的 gem,因为应用程序已经设置了 gem 环境(gem 集等)。

    无法将插件的 gem env 与应用的 gem env 隔离开来,原因很简单,因为插件在应用内运行。

    因此,插件在应用的 gem env 中运行。

    如果应用的 gem env 由 Bundler 管理,那么您的依赖项必须在应用的 Gemfile 中定义。否则,它们将无法在 Bundler 隔离的 gem env 中使用,无论您在插件中需要什么。

    这就是将插件作为 gem 发布更实用的原因之一。

    【讨论】:

      猜你喜欢
      • 2018-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多