【发布时间】:2013-12-22 11:01:50
【问题描述】:
我正在使用 composer 来管理依赖项。基本上我想做的是在vagrant up 运行时在puppet config 中自动运行composer update。
我正在使用 puphpet 为 vagrant 生成 puppet 文件。
我在default.pp 文件的这段代码中添加了composer::exec 部分:
if $php_values['composer'] == 1 {
class { 'composer':
target_dir => '/usr/local/bin',
composer_file => 'composer',
download_method => 'curl',
logoutput => true,
tmp_path => '/tmp',
php_package => "${php::params::module_prefix}cli",
curl_package => 'curl',
suhosin_enabled => false,
}
composer::exec { 'composer-update':
cmd => 'update',
cwd => '/var/www/myproject'
}
}
有时我会在输出中收到此错误:
Error: Command exceeded timeout
Error: /Stage[main]//Composer::Exec[composer-update]/Exec[composer_update_composer-update]/returns: change from notrun to 0 failed: Command exceeded timeout
木偶作曲家中没有timeout属性。
如何解决?
【问题讨论】:
-
这是一条 puppet 错误消息。您可以尝试将 exec 任务的“超时”设置为更长。顺便说一句,您知道您可能应该运行“composer install”而不是更新。
-
如果我通过 ssh 登录,我可以运行 composer update 并且它可以工作。据我所知,如果你没有 composer.json,你需要运行 composer install,但我有。 puppet composer exec 命令中没有超时属性:(
-
不,'composer install' 是您在生成锁定文件时要做的事情 - getcomposer.org/doc/… 以避免在实时服务器上运行更新。
标签: php ubuntu vagrant composer-php puppet