无法加载此类文件 - ruby​​-wmi(LoadError)&无法加载此类文件 - win32/service(LoadError)

Mad*_*d-D 7 ruby windows rubygems chef-infra

我确实安装了下面提到的红宝石东西

在此输入图像描述

当我尝试执行chef-client时,我收到下面提到的错误

c:\RubyDevKit>chef-client
C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- ruby-wmi (LoadError)
        from C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/chef-10.14.4/lib/chef/provider/env/windows.rb:20:in `<top (required)>'
        from C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
        from C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/chef-10.14.4/lib/chef/providers.rb:49:in `<top (required)>'
        from C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
        from C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/chef-10.14.4/lib/chef.rb:25:in `<top (required)>'
        from C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
        from C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/chef-10.14.4/bin/chef-client:23:in `<top (required)>'
        from C:/Ruby193/bin/chef-client:23:in `load'
        from C:/Ruby193/bin/chef-client:23:in `<main>'
Run Code Online (Sandbox Code Playgroud)

Ruby193文件夹结构(缺失)

在此输入图像描述

Pra*_*thy 9

错误消息cannot load such file -- ruby-wmi (LoadError)即将发生,因为chef-client无法找到所需的宝石.

此问题在常见错误Opscode/Chef Wiki页面上得到解决.

如上所述,使用以下命令安装所需的gem:

C:\> gem install win32-open3 ruby-wmi windows-api windows-pr --no-rdoc --no-ri --verbose
C:\> gem install rdp-ruby-wmi
Run Code Online (Sandbox Code Playgroud)


Mad*_*d-D 6

正如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
Run Code Online (Sandbox Code Playgroud)

还有一个错误

C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in require': cannot load such file -- win32/service (LoadError)
Run Code Online (Sandbox Code Playgroud)

所以我会推荐

(i)检查安装的宝石(在CMD中)

gem list
Run Code Online (Sandbox Code Playgroud)

这将指出失踪的宝石,在我的情况下win32/service是错误的

(ⅱ) gem install win32-service

再次检查宝石清单,以确保并解决问题.