【问题标题】:How am I supposed to use bundle install --standalone with a Rails app?我应该如何将 bundle install --standalone 与 Rails 应用程序一起使用?
【发布时间】:2011-12-19 23:38:59
【问题描述】:

bundle install --standalone 似乎是个好主意,但我很难思考如何使用它,因为它最终不需要你安装 ruby​​gems 或 bundler。

它会生成一个 bundler/setup.rb,它添加了我的 gem 的 lib 和 ext 目录,看起来是按顺序排列的。大概,我需要做的就是将它添加到加载路径中,一切都很好。

但 bundler/setup.rb 似乎实际上不需要任何东西。

现在,这很好,因为正常的捆绑器/设置也不需要任何东西,而是让应用程序调用 Bundler.require

默认情况下,Rails 会通过这个小曲子满足要求:

if defined?(Bundler)
  Bundler.require(*Rails.groups(:assets => %w(development test)))
end

此时,Bundler 没有定义(bundler/setup.rb 没有定义它),所以它跳过了这个块。

那么我究竟需要捆绑器。如果bundle install --standalone 实际捆绑了捆绑器,大概我可以手动调用require bundler,然后定义Bundler,但它似乎将自己排除在捆绑之外。

是否有实际使用bundle install --standalone 的应用程序,如果有,如何使用?

【问题讨论】:

    标签: ruby-on-rails rubygems bundler


    【解决方案1】:

    要使其与 Rails 一起使用,您需要删除 Bundler.require 调用并手动将所有需要的行添加到需要它们的位置。

    这有利有弊。从好的方面来说,它可以更快地加载您的应用程序,因为在加载时不需要所有的 gem。它还明确了在哪里使用了哪些宝石。

    不利的一面是,您必须将所有 require 调用添加到您的应用程序中。

    查看Myron Marstons blog post 以获得更好的解释。

    【讨论】:

      【解决方案2】:

      bundle install --deployment #install ruby​​ & bundled gem到项目目录

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-12-16
        • 2019-05-31
        • 2016-06-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多