Ruby 在子流程中执行binstub

Ruby 在子流程中执行binstub,ruby,gem,bundler,Ruby,Gem,Bundler,我想在我自己的gem中执行其他gem的二进制文件。但不知为什么,当我在这里执行bin/rspec rspec时,在Gem.bin_路径上出现了以下错误。执行哪一个程序并不重要 /home/vagrant/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/bundler-1.7.9/lib/bundler/rubygems_integration.rb:309:in `block in replace_bin_path': undefined metho

我想在我自己的gem中执行其他gem的二进制文件。但不知为什么,当我在这里执行bin/rspec rspec时,在Gem.bin_路径上出现了以下错误。执行哪一个程序并不重要

/home/vagrant/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/bundler-1.7.9/lib/bundler/rubygems_integration.rb:309:in `block in replace_bin_path': undefined method `name' for nil:NilClass (NoMethodError)
    from /home/vagrant/works/test/bundler-problem/chef/bin/knife:16:in `<main>'
如果我直接执行chef/bin/knife,它会成功而不会失败。我将这个问题隔离到存储库中

如何解决此问题?

我找到了链接并用Bundler解决了问题。使用_clean_env

我现在尝试了systemGem.bin_path..,但没有任何更改。