2
我正在为一些工具构建一个web界面,我希望能够在Bundler上下文中运行命令或gems,就像'bundle exec'命令一样,除了在我的代码中。是否可以使用代码中的“bundle exec”功能?
所以通常情况下,我会在命令行上写:
bundle exec rspec
有没有一种方法,我可以做到同样的事情,但编程?
我正在为一些工具构建一个web界面,我希望能够在Bundler上下文中运行命令或gems,就像'bundle exec'命令一样,除了在我的代码中。是否可以使用代码中的“bundle exec”功能?
所以通常情况下,我会在命令行上写:
bundle exec rspec
有没有一种方法,我可以做到同样的事情,但编程?
如果你想运行一些红宝石捆绑宝石可以只需要“捆绑/设置”:
require 'bundler/setup'
require 'rspec' # loads the version specified in Gemfile
你可以在Ruby中用反引号(`)封装shell命令。
def run_specs
`bundle exec rspec | grep foo`
end
所以,如果我设置$ BUNDLE_GEMFILE作为工具的Gemfile(像捆扎机--binstubs选项),这将在这种情况下运行它? – xiy
是的,它应该。 Binstub就是一个很好的例子。 –
太棒了,谢谢! – xiy