我使用bundler
来处理ruby gems依赖项。我需要gems使用bundler
编程。
当我试图以编程方式调用knife
时,它的依赖项是在Gemfile
中指定的。我执行knife
如下:
Chef::Knife.run ["-v"] #invoking knife
返回以下错误:
/var/lib/gems/2.0.0/gems/chef-11.6.2/lib/chef/knife/edit.rb:5:in `<class:Knife>': superclass mismatch for class Edit (TypeError)
我熟悉Ruby on Rails 3 : "superclass mismatch for class ..."以及发生这种情况的原因。但我所做的一切都与上述stackoverflow帖子中的解释不谋而合。
有人能解释一下这个问题并提出解决办法吗?
最佳答案
我认为这个Edit class造成了这个问题,而uninstalling
刀本质宝石将解决您的问题。
尝试一次:
gem uninstall knife-essentials