0

我正在尝试通过 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?

4

3 回答 3

5

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

 get_url: url=https://phar.phpunit.de/phpunit.phar dest=/usr/local/bin/phpunit mode=555 
于 2014-05-13T01:35:01.593 回答
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 发出这是一个新任务的信号。

于 2013-08-15T01:20:49.947 回答
1

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

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

罗素的方法效果很好。

于 2015-04-09T09:01:42.657 回答