我想在我自己的gem中执行其他gem的二进制文件。但是为什么,当我执行Gem.bin_path
时,我在bin/rspec
遇到了错误(这里的rspec没有意义。执行哪个binstub并不重要)
/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
,它会成功而不会失败。我将此问题隔离到存储库https://github.com/pandora2000/bundler-problem
我该如何解决这个问题?
答案 0 :(得分:0)
我找到了http://www.rakefieldmanual.com/fascicles/001-clean-environment.html链接并用Bundler.with_clean_env