【问题标题】:Is it possible to use 'bundle exec' functionality from code?是否可以从代码中使用“捆绑执行”功能?
【发布时间】:2012-09-17 17:46:17
【问题描述】:

我正在为一些工具构建一个 Web 界面,并且我希望能够在 Bundler 上下文中运行命令或 gem,就像“bundle exec”命令一样,除了在我的代码中。

所以通常,我会在命令行上写:

bundle exec rspec

有没有一种方法可以实现相同的目标,但以编程方式实现?

【问题讨论】:

    标签: ruby rspec bundler


    【解决方案1】:

    如果你想用捆绑的 gem 运行一些 ruby​​,你可以只需要“bundler/setup”:

    require 'bundler/setup'
    require 'rspec' # loads the version specified in Gemfile
    

    【讨论】:

    • 所以如果我将 $BUNDLE_GEMFILE 设置为工具 Gemfile(如使用 bundlers --binstubs 选项),这将在该上下文中运行它?
    【解决方案2】:

    您可以在 Ruby 中将 shell 命令包装在反引号 (`) 中。

    def run_specs
        `bundle exec rspec | grep foo`
    end
    

    【讨论】:

      猜你喜欢
      • 2011-03-06
      • 2021-12-26
      • 1970-01-01
      • 2016-05-28
      • 2018-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多