【问题标题】:Where do I have to do my Bundler setup?我必须在哪里进行 Bundler 设置?
【发布时间】:2011-01-21 23:39:20
【问题描述】:

如果我正在使用 Bundler 和 RSpec 开发 gem 进行测试。我在哪里做我的Bundler.setup?假设我的 gem 名为 fancy-gem,并且我的目录设置类似于以下内容:

Gemfile
Gemfile.lock
lib/
  fancy-gem.rb
Rakefile
README
spec/
  ...

我应该在我的 'fancy-gem.rb' 中执行 Bundler.setup 还是这会导致其他可能使用 bundler 的 gem 出现问题?我在想,当我不这样做时,就无法保证加载了我需要的第三方库的正确版本。

我已经问过I need to add Bundler itself to the Gemfile。答案是否定的,但现在我不太确定,因为如果我在某处执行 Bundler.setup,那么 Bundler 实际上是我的 Gem 的依赖项,当从 ruby​​gems.org 下载它时应该与我的 Gem 一起安装

【问题讨论】:

    标签: ruby gem bundler


    【解决方案1】:

    在我看来,您既不应该依赖 bundler,也不应该在 gem 中使用它。我这样做的方式只是需要你的 gem 在 lib/fancy-gem.rb 中的依赖项(几乎每个 gem 只有少数运行时依赖项,所以这不应该太麻烦),我会调用 Bundler .setup 仅在开发文件中(如 spec_helper.rb 或 Rakefile)。这样,您就不会搞砸使用您的 gem 的应用程序,并且在开发您的 gem 时仍然可以获得自动依赖管理的所有便利。

    【讨论】:

    • 您通常如何要求运行时依赖项?您是直接使用require 还是使用gem '...', '~> 1.0.0'; require '...' 明确要求某个版本?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-04
    • 2013-10-30
    相关资源
    最近更新 更多