Проблема установки PEAR с рецептом шеф-повара для бродяги

Я использую Vagrant для локального создания сервера разработки. Я пишу свой собственный рецепт Chef, чтобы установить все, что мне нужно, но у меня возникают проблемы.

Pear не будет устанавливаться, так как я думаю, что он пытается сбросить нестабильную версию. Ошибка:

No such file or directory - pear -d preferred_state=stable search PEAR

Рецепт следующий

# 
# Chef recipe for provisioning a LAMP
# development server.
#
require_recipe 'apt'
require_recipe 'apache2'
require_recipe 'apache2::mod_php5'
require_recipe 'php::module_gd'
require_recipe 'mysql::server'

php_pear "PEAR" do
    action :upgrade
end

php_pear "MDB2" do
    action :install
end

php_pear "MDB2#mysql" do
    action :install
end

# Grant access to this box...
ruby_block "Create database + execute grants" do
    block do

    require 'rubygems'
    Gem.clear_paths
    require 'mysql'

    m = Mysql.new('localhost', "root", node[:mysql][:server_root_password])
m.query("GRANT ALL ON *.* TO 'root'@'10.0.0.1' IDENTIFIED BY '#{node[:mysql][:server_root_password]}'")
m.query('FLUSH PRIVILEGES')

    end
end

Как заставить PEAR установить последнюю стабильную версию?


person Craig Ward    schedule 14.05.2011    source источник


Ответы (2)


Вы используете грушу для установки самой груши? Разве это не странно?

Сообщение об ошибке

No such file or directory 

указывает, что ваш рецепт пытается использовать полную команду как один исполняемый файл, а не как команду и параметры.

pear -d preferred_state=stable search PEAR
person cweiske    schedule 30.05.2011

Вот что я делаю для обновления PEAR на моей виртуальной машине Ubuntu:

package "php-pear" do
  action :install
end

Существует пакет Ubuntu под названием php-pear, поэтому эта команда установит последнюю версию

person Andrew    schedule 31.10.2011