我有一个工作流浪实例,目前尝试使用“应用程序”食谱与厨师/放浪,要能够从git的部署和收到此错误信息:厨师 - NoMethodError在厨师::资源::应用
FATAL: NoMethodError: undefined method `path' for
Chef::Resource::Application
当然,“路径”是“应用程序”配方的组成部分。如果我将它注释掉,则下一个属性将显示相同的消息。
我确信,metadata.rb包含行:
depends 'application'
我也重装流浪汉实例,以确保所有更改传播就跑“伯克斯更新”。我应该向哪个方向寻找导致此错误的原因?
Vagrantfile是非常标准的,而且大多包括:
config.vm.provision :chef_solo do |chef|
chef.json = {
:mysql => {
:server_root_password => 'rootpass',
:server_debian_password => 'debpass',
:server_repl_password => 'replpass'
},
:postgresql => {
:password => {
:postgres => "rootpass"
}
},
}
chef.run_list = [
"recipe[iw-app::default]",
"recipe[iw-app::db]",
"recipe[iw-app::deploy]"
]
end
虽然部署配方包含
user "#{node[:ii][:user]}" do
system true
end
application node[:ii][:app_name] do
path node[:ii][:deploy_to]
owner node[:ii][:user]
group node[:ii][:group]
repository node[:ii][:repo][:url]
revision node[:ii][:repo][:branch]
deploy_key node[:ii][:repo][:deploy_key]
packages ["git"]
end
metadata.rb只是:
depends 'apt'
depends 'python'
depends 'application'
depends 'application_python'
depends 'postgresql'
您可以发布您Vagrantfile相关的部分? – 2013-02-12 20:51:45
流氓文件是非常标准的,这里是主要部分: config.vm.provision:chef_solo do | chef | chef.json = { :MySQL的=> { :server_root_password => 'rootpass', :server_debian_password => 'debpass', :server_repl_password => 'replpass' }, :在PostgreSQL => { :密码=> { :postgres的=> “rootpass” } }, } chef.run_list = [ “配方[IW应用内::默认]”, “配方[IW应用内::分贝]” , “recipe [iw-app :: deploy]” ] – AlexA 2013-02-13 06:46:04
添加更多细节发布说明。 – AlexA 2013-02-13 06:52:07