我正在尝试通过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?
答案 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
罗素的方法很好。