问题
Env: CentOS 6.5, Chef, Vagrant, Berkshelf
- Added
cookbook "postgresql"
in myBerksfile
- Ran
$ berks install
followedberks upload
which uploaded my cookbook to my hosted Enterprise Chef server. Added my postgresql attributes to my cookbook
my_cookbook/attributes/default.rb
default['postgresql']['version'] = '9.2' default['postgresql']['client']['packages'] = ["postgresql#{node['postgresql']['version'].split('.').join}-devel"] default['postgresql']['server']['packages'] = ["postgresql#{node['postgresql']['version'].split('.').join}-server"] default['postgresql']['contrib']['packages'] = ["postgresql#{node['postgresql']['version'].split('.').join}-contrib"] default['postgresql']['dir'] = "/var/lib/pgsql/#{node['postgresql']['version']}/data" default['postgresql']['server']['service_name'] = "postgresql-#{node['postgresql']['version']}"
In my default.rb
recipe:
include_recipe 'postgresql::yum_pgdg_postgresql'
include_recipe 'postgresql::server'
The Error:
Recipe: postgresql::client
* package[postgresql92-devel] action install
* No version specified, and no candidate version available for postgresql92-devel
================================================================================
Error executing action `install` on resource 'package[postgresql92-devel]'
================================================================================
回答1:
I resolved this by adding one line in the my attributes/default.rb
default['postgresql']['enable_pgdg_yum'] = true <==== ADDED THIS
default['postgresql']['version'] = '9.2'
default['postgresql']['client']['packages'] = ["postgresql#{node['postgresql']['version'].split('.').join}-devel"]
default['postgresql']['server']['packages'] = ["postgresql#{node['postgresql']['version'].split('.').join}-server"]
default['postgresql']['contrib']['packages'] = ["postgresql#{node['postgresql']['version'].split('.').join}-contrib"]
default['postgresql']['dir'] = "/var/lib/pgsql/#{node['postgresql']['version']}/data"
default['postgresql']['server']['service_name'] = "postgresql-#{node['postgresql']['version']}"
来源:https://stackoverflow.com/questions/23738383/install-postgres-9-2-on-centos-6-5-using-chef