在我的“Vagrant”文件中,有以下一行:
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/
答案1
我刚刚进行了以下测试:
Vagrantfile 运行列表:
chef.run_list = [
"recipe[apt]",
"recipe[php::module_apc]"
]
使用 Ubuntu 12.04、Chef 10.14.2 和以下食谱版本:
- apt(1.4.8)
- php (1.1.0)
- build-essential(1.3.2)(依赖)
- xml (1.0.4) (依赖)
- mysql (2.1.0) (依赖)
- openssl (1.0.0) (依赖)
它完全贯穿始终,并最终达到以下效果:
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 的源代码 - 发布的版本与正在不断开发的存储库相比是“稳定的”。
答案2
我可能错了,但该错误似乎与版本不匹配无关。
登录到盒子并运行sudo apt-get update
。注销并查看是否可以配置vagrant provision
。有时更新无法正确完成,只需重新运行即可。
如果这不起作用,请登录并尝试sudo apt-get install php-apc=3.1.7-1
查看 apt 中的错误是什么。
答案3
APC 已作为标准模块集成到 PHP-5.4+ 软件包中,无需像 PHP-5.3 及更早版本那样作为单独的软件包进行安装。因此,当您尝试安装系统中已存在的模块时,会抛出错误。