无法加载这样的文件--ruby wmi(LoadError)&;无法加载这样的文件--win32/service(LoadError)

无法加载这样的文件--ruby wmi(LoadError)&;无法加载这样的文件--win32/service(LoadError),ruby,windows,rubygems,chef-infra,Ruby,Windows,Rubygems,Chef Infra,我确实安装了下面提到的ruby东西 当我尝试执行chef客户端时,我收到下面提到的错误 c:\RubyDevKit>chef客户端 C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:在'require'中:无法加载此类文件--ruby wmi(LoadError) 来自C:/Ruby193/lib/ruby/site\u ruby/1.9.1/rubygems/custom\u require.rb:36:in'

我确实安装了下面提到的ruby东西

当我尝试执行chef客户端时,我收到下面提到的错误

c:\RubyDevKit>chef客户端
C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:在'require'中:无法加载此类文件--ruby wmi(LoadError)
来自C:/Ruby193/lib/ruby/site\u ruby/1.9.1/rubygems/custom\u require.rb:36:in'require'
来自C:/Ruby193/lib/ruby/gems/1.9.1/gems/chef-10.14.4/lib/chef/provider/env/windows.rb:20:in`'
来自C:/Ruby193/lib/ruby/site\u ruby/1.9.1/rubygems/custom\u require.rb:36:in'require'
来自C:/Ruby193/lib/ruby/site\u ruby/1.9.1/rubygems/custom\u require.rb:36:in'require'
来自C:/Ruby193/lib/ruby/gems/1.9.1/gems/chef-10.14.4/lib/chef/providers.rb:49:in`'
来自C:/Ruby193/lib/ruby/site\u ruby/1.9.1/rubygems/custom\u require.rb:36:in'require'
来自C:/Ruby193/lib/ruby/site\u ruby/1.9.1/rubygems/custom\u require.rb:36:in'require'
来自C:/Ruby193/lib/ruby/gems/1.9.1/gems/chef-10.14.4/lib/chef.rb:25:in`'
来自C:/Ruby193/lib/ruby/site\u ruby/1.9.1/rubygems/custom\u require.rb:36:in'require'
来自C:/Ruby193/lib/ruby/site\u ruby/1.9.1/rubygems/custom\u require.rb:36:in'require'
来自C:/Ruby193/lib/ruby/gems/1.9.1/gems/chef-10.14.4/bin/chef-client:23:in`'
来自C:/Ruby193/bin/chef客户机:23:in'load'
来自C:/Ruby193/bin/chef客户机:23:in`'
Ruby193文件夹结构(缺少)


错误消息
无法加载此类文件--ruby wmi(LoadError)
即将出现,因为
chef client
无法找到所需的gem

这一问题在第二节中讨论

如前所述,使用以下命令安装所需的gems:

C:\> gem install win32-open3 ruby-wmi windows-api windows-pr --no-rdoc --no-ri --verbose
C:\> gem install rdp-ruby-wmi

正如Prakash Murthy所说,它缺少ruby wmi文件。我想如果有人再次陷入困境会有所帮助

我确实执行了这些命令

C:\> gem install win32-open3 ruby-wmi windows-api windows-pr --no-rdoc --no-ri --verbose
C:\> gem install rdp-ruby-wmi
还有一个错误

C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in require': cannot load such file -- win32/service (LoadError)
所以我建议

(i) 检查已安装的gem(在CMD中)

这将指出缺少的gems,在我的例子中,win32/service是错误的

(ii)
gem安装win32服务


再次检查gem列表以确保&应该解决问题。

较新版本的Chef不使用ruby wmi,因此您不需要gem。我在尝试运行TestKitchen时遇到了这个错误,我已经尝试了上面的解决方案,但都不起作用

这对我很有用:

  • 卸载并重新安装Vagrant
  • 删除C:\Users\USERNAME.vagrant.d\gems文件夹
  • 删除C:\Users\USERNAME.vagrant.d\plugins.json文件

之后,厨房运行正常。

gem不应该检测并安装这样的依赖项吗?还需要gem安装win32服务吗
gem list