通过Ansible安装phpunit

时间:2013-08-14 08:34:14

标签: php phpunit vagrant ansible

我正在尝试通过ansible安装phpunit,以便在vagrant vm上运行它,但是我在构建过程中一直收到错误:

  

频道“pear.phpunit.de”未初始化,请使用“pear channel-discover pear.phpunit.de”初始化pear config-set auto_discover 1   “pear.phpunit.de/PHPUnit”中的未知频道“pear.phpunit.de”   无效的包名/包文件“pear.phpunit.de/PHPUnit”   安装失败

ansbile配置看起来像:

- name: Install phpunit
  command: pear channel-discover pear.phpunit.de
  command: pear channel-discover pear.symfony-project.com
  command: pear channel-discover components.ez.no
  command: pear channel-discover pear.symfony.com
  command: pear update-channels
  command: pear upgrade-all
  command: pear install pear.symfony.com/Yaml
  command: pear install --alldeps pear.phpunit.de/PHPUnit 
  command: pear install --force --alldeps pear.phpunit.de/PHPUnit

有没有人设法成功通过ansible安装phpunit?

3 个答案:

答案 0 :(得分:5)

由于不再支持PHPUnit的pear安装程序。如果你想用ansible安装PHPUnit,你可以这样做:

 get_url: url=https://phar.phpunit.de/phpunit.phar dest=/usr/local/bin/phpunit mode=555 

答案 1 :(得分:1)

您粘贴的播放列表代码不正确 - 它只会运行第一个命令,因为您无法在单个任务中指定多个命令。请尝试这个任务列表:

 - command: pear channel-discover pear.phpunit.de
 - command: pear channel-discover pear.symfony-project.com
 - command: pear channel-discover components.ez.no
 - command: pear channel-discover pear.symfony.com
 - command: pear update-channels
 - command: pear upgrade-all
 - command: pear install pear.symfony.com/Yaml
 - command: pear install --alldeps pear.phpunit.de/PHPUnit 
 - command: pear install --force --alldeps pear.phpunit.de/PHPUnit

您不需要为每个任务指定 - 名称,但您必须在每个命令之前使用连字符向Ansible发出信号,告知这是一项新任务。

答案 2 :(得分:0)

有关不再支持PEAR安装方法的更多信息:

https://github.com/sebastianbergmann/phpunit/wiki/End-of-Life-for-PEAR-Installation-Method

罗素的方法很好。