2017-05-04 115 views
1

我在我的工作站/本地机器上运行了“chef verify”并得到了这个错误结果。厨师:Addressable :: URI :: InvalidURIError

[email protected]:/opt/chefdk$ chef verify 
Running verification for component 'berkshelf' 
Running verification for component 'test-kitchen' 
Running verification for component 'tk-policyfile-provisioner' 
Running verification for component 'chef-client' 
Running verification for component 'chef-dk' 
Running verification for component 'chef-provisioning' 
Running verification for component 'chefspec' 
Running verification for component 'generated-cookbooks-pass-chefspec' 
Running verification for component 'rubocop' 
Running verification for component 'fauxhai' 
Running verification for component 'knife-spork' 
Running verification for component 'kitchen-vagrant' 
Running verification for component 'package installation' 
Running verification for component 'openssl' 
Running verification for component 'inspec' 
Running verification for component 'delivery-cli' 
Running verification for component 'git' 
Running verification for component 'opscode-pushy-client' 
Running verification for component 'chef-sugar' 
... 

An error occurred in a `before(:suite)` hook. 
Failure/Error: raise InvalidURIError, "Invalid scheme format: #{new_scheme}" 

Addressable::URI::InvalidURIError: 
    Invalid scheme format: 127.0.0.1 
# /home/mike-pc/.chefdk/gem/ruby/2.3.0/gems/berkshelf-5.6.4/lib/berkshelf/source.rb:58:in `build_universe' 
# /home/mike-pc/.chefdk/gem/ruby/2.3.0/gems/berkshelf-5.6.4/lib/berkshelf/installer.rb:21:in `block (2 levels) in build_universe' 


Finished in 0.25155 seconds (files took 1.57 seconds to load) 
0 examples, 0 failures 

我执行“厨房诊断,所有”,并发现我有无效的URI:

instances: 
    default-centos-72: 
    platform: 
     os_type: unix 
     shell_type: bourne 
    state_file: 
     hostname: 127.0.0.1 
     last_action: create 
     last_error: Addressable::URI::InvalidURIError 
     port: '2222' 

我怎样才能解决这个问题?

+0

您可以在此问题上添加日志或运行'kitchen diagnose --all' –

+0

hi @AnkurJyotiPhukan,谢谢。我更新了它。 – Michael

+0

你在厨房安装了厨师吗?因为“厨房诊断”检查正在运行的厨房实例的状态。你能否用“gem environment”输出更新日志。 –

回答

0

的错误是很明显的:

Addressable::URI::InvalidURIError: 
Invalid scheme format: 127.0.0.1 

我认为你缺少的 “http://” 的 “127.0.0.1” 之前。

+0

hi @Draco Ater,我可以在哪里设置它?谢谢 – Michael

+0

你的代码中的某个地方可能是?! ''before(:suite)'钩子发生错误。' –

+0

我还没有编写代码,我只是在我的本地机器上安装chefdk并使用“chef verify”进行测试。 – Michael

0

chef verify不是你应该运行的命令。这是ChefDK开发人员和发布团队的职责。