我刚刚在mac上安装了chef-workstation,我的机器上也安装了rvm。chef-workstation已成功安装,但当我尝试运行chef exec命令时,它会失败,并显示以下错误-
Traceback (most recent call last):
20: from /Users/tusharhawaldar/.rvm/gems/ruby-2.6.0@base/bin/ruby_executable_hooks:22:in `<main>'
19: from /Users/tusharhawaldar/.rvm/gems/ruby-2.6.0@base/bin/ruby_executable_hooks:22:in `eval'
18: from /Users/tusharhawaldar/.rvm/gems/ruby-2.6.0@base/bin/chef:23:in `<main>'
17: from /Users/tusharhawaldar/.rvm/gems/ruby-2.6.0@base/bin/chef:23:in `load'
16: from /Users/tusharhawaldar/.rvm/gems/ruby-2.6.0@base/gems/chef-dk-3.11.3/bin/chef:25:in `<top (required)>'
15: from /Users/tusharhawaldar/.rvm/gems/ruby-2.6.0@base/gems/chef-dk-3.11.3/lib/chef-dk/cli.rb:73:in `run'
14: from /Users/tusharhawaldar/.rvm/gems/ruby-2.6.0@base/gems/chef-dk-3.11.3/lib/chef-dk/command/base.rb:58:in `run_with_default_options'
13: from /Users/tusharhawaldar/.rvm/gems/ruby-2.6.0@base/gems/chef-dk-3.11.3/lib/chef-dk/command/env.rb:39:in `run'
12: from /Users/tusharhawaldar/.rvm/gems/ruby-2.6.0@base/gems/chef-dk-3.11.3/lib/chef-dk/command/env.rb:39:in `tap'
11: from /Users/tusharhawaldar/.rvm/gems/ruby-2.6.0@base/gems/chef-dk-3.11.3/lib/chef-dk/command/env.rb:41:in `block in run'
10: from /Users/tusharhawaldar/.rvm/gems/ruby-2.6.0@base/gems/chef-dk-3.11.3/lib/chef-dk/command/env.rb:57:in `ruby_info'
9: from /Users/tusharhawaldar/.rvm/gems/ruby-2.6.0@base/gems/chef-dk-3.11.3/lib/chef-dk/command/env.rb:57:in `tap'
8: from /Users/tusharhawaldar/.rvm/gems/ruby-2.6.0@base/gems/chef-dk-3.11.3/lib/chef-dk/command/env.rb:60:in `block in ruby_info'
7: from /Users/tusharhawaldar/.rvm/gems/ruby-2.6.0@base/gems/chef-dk-3.11.3/lib/chef-dk/command/env.rb:60:in `tap'
6: from /Users/tusharhawaldar/.rvm/gems/ruby-2.6.0@base/gems/chef-dk-3.11.3/lib/chef-dk/command/env.rb:63:in `block (2 levels) in ruby_info'
5: from /Users/tusharhawaldar/.rvm/gems/ruby-2.6.0@base/gems/chef-dk-3.11.3/lib/chef-dk/command/env.rb:69:in `gem_environment'
4: from /Users/tusharhawaldar/.rvm/gems/ruby-2.6.0@base/gems/chef-dk-3.11.3/lib/chef-dk/command/env.rb:69:in `tap'
3: from /Users/tusharhawaldar/.rvm/gems/ruby-2.6.0@base/gems/chef-dk-3.11.3/lib/chef-dk/command/env.rb:70:in `block in gem_environment'
2: from /Users/tusharhawaldar/.rvm/gems/ruby-2.6.0@base/gems/chef-dk-3.11.3/lib/chef-dk/helpers.rb:124:in `omnibus_env'
1: from /Users/tusharhawaldar/.rvm/gems/ruby-2.6.0@base/gems/chef-dk-3.11.3/lib/chef-dk/helpers.rb:72:in `omnibus_embedded_bin_dir'
/Users/tusharhawaldar/.rvm/gems/ruby-2.6.0@base/gems/chef-dk-3.11.3/lib/chef-dk/helpers.rb:142:in `omnibus_expand_path': Can not find omnibus installation directory for Chef. (ChefDK::OmnibusInstallNotFound)当我检查omnibus_root路径时,它给出-
/Users/tusharhawaldar/.rvm/rubies并且它试图在omnibus_root_path中查找bin和/embedded/bin目录,而这些目录在那里并不存在,因此引发了此错误。
我在omnibus_root_path手动创建了这些目录,现在可以运行chef exec命令了,但是当它运行chefspec时,它会给出以下错误-
An error occurred while loading ./spec/unit/recipes/initial_packages_spec.rb.
Failure/Error: require 'chefspec'
LoadError:
cannot load such file -- chefspec
./spec/spec_helper.rb:1:in `<top (required)>'
./spec/unit/recipes/initial_packages_spec.rb:1:in `<top (required)>'
No examples found.请求'chefspec‘失败意味着设置中缺少一些东西,我怀疑这与chef omnibus有关。
解决ChefDK::OmnibusInstallNotFound相关错误的正确方法是什么?
发布于 2021-04-27 15:07:05
好的,在尝试了各种方法之后,我终于找到了解决错误的方法-
Can not find omnibus installation directory for Chef. (ChefDK::OmnibusInstallNotFound)并且它正在运行下面的命令来进行路径更新-
echo 'export PATH="/opt/chef-workstation/embedded/bin:$PATH"' >> ~/.bash_profile && source ~/.bash_profile发件人- https://www.tutorialspoint.com/chef/chef_workstation_setup.htm
Omnibus Chef将通过将/opt/chef/embedded/bin目录添加到.bash_profile文件来将Ruby和所有必需的Ruby gem安装到/opt/chef/embedded中。
https://stackoverflow.com/questions/67266930
复制相似问题