В моем «бродячем» файле есть такая строка:
chef.add_recipe("php::module_apc")
Но это дает мне эту ошибку:
[2013-01-11T22:14:53+00:00] INFO: Processing package[php-apc] action install (php::module_apc line 34)
================================================================================
Error executing action `install` on resource 'package[php-apc]'
================================================================================
Chef::Exceptions::Exec
----------------------
apt-get -q -y install php-apc=3.1.7-1 returned 100, expected 0
Resource Declaration:
---------------------
# In /tmp/vagrant-chef-1/chef-solo-1/cookbooks/php/recipes/module_apc.rb
33: when "debian"
34: package "php-apc" do
35: action :install
36: end
37: end
Compiled Resource:
------------------
# Declared in /tmp/vagrant-chef-1/chef-solo-1/cookbooks/php/recipes/module_apc.rb:34:in `from_file'
package("php-apc") do
retry_delay 2
retries 0
recipe_name "module_apc"
action [:install]
cookbook_name :php
package_name "php-apc"
end
[2013-01-11T22:14:53+00:00] ERROR: Running exception handlers
[2013-01-11T22:14:53+00:00] ERROR: Exception handlers complete
[2013-01-11T22:14:53+00:00] FATAL: Stacktrace dumped to /tmp/vagrant-chef-1/chef-stacktrace.out
[2013-01-11T22:14:53+00:00] FATAL: Chef::Exceptions::Exec: package[php-apc] (php::module_apc line 34) had an error: Chef::Exceptions::Exec: apt-get -q -y install php-apc=3.1.7-1 returned 100, expected 0
Chef never successfully completed! Any errors should be visible in the output above. Please fix your recipes so that they properly complete.
Я также использовал это раньше:
chef.add_recipe("apt")
Но это тоже не поможет.
Любые идеи, как это исправить? Большое спасибо!
Кстати, я использую все кулинарные книги из OpsCode: https://github.com/opscode-cookbooks/
APC интегрирован в пакет PHP-5.4 + как стандартный модуль и не требует установки как отдельный пакет, как PHP-5.3 и более ранние версии. Поэтому при попытке установить модуль, который уже существует в системе, выдается ошибка.
Я могу ошибаться, но похоже, что ошибка не связана с несоответствием версии.
Войдите в ящик и запустите sudo apt-get update
. Выйдите из системы и посмотрите, сможете ли вы подготовить vagrant provision
. Иногда обновление не завершается должным образом, и его нужно просто перезапустить.
Если это не сработает, войдите в систему и попробуйте sudo apt-get install php-apc=3.1.7-1
чтобы узнать, в чем ошибка apt.
Я только что прошел следующий тест:
Список запуска Vagrantfile:
chef.run_list = [
"recipe[apt]",
"recipe[php::module_apc]"
]
Использование Ubuntu 12.04, Chef 10.14.2 и следующих версий поваренной книги:
Он проходит полностью и заканчивается:
vagrant@apctest:~$ dpkg -l | grep php
ii php-apc 3.1.7-1 APC (Alternative PHP Cache) module for PHP 5
ii php5-common 5.3.10-1ubuntu3.4 Common files for packages built from the php5 source
ii php5-fpm 5.3.10-1ubuntu3.4 server-side, HTML-embedded scripting language (FPM-CGI binary)
Так:
Я бы посоветовал использовать последние выпущенные кулинарные книги из Сайт сообщества вместо исходного кода с GitHub - выпущенные версии являются «стабильными» по сравнению с репозиториями, которые находятся в постоянной разработке.