无法在Ubuntu 10.04中安装最新的phpUnit

时间:2012-10-23 04:57:45

标签: ubuntu phpunit pear

我正在尝试在Ubuntu 10.04中安装PHPUnit,但是我收到了这些错误消息

sudo pear install -a pear.phpunit.de/PHPUnit
Duplicate package channel://pear.phpunit.de/File_Iterator-1.3.3 found
Duplicate package channel://pear.phpunit.de/File_Iterator-1.3.2 found
install failed

我尝试重新安装PEAR,升级它;更新了PEAR和PHPUnit通道;清除了PEAR的缓存,但仍然没有运气,我一直得到同样的错误。

有没有人遇到同样的问题并知道如何解决它?

谢谢。

4 个答案:

答案 0 :(得分:26)

是的,Dex指出,但我想我也会把它作为一个答案。

不确定为什么你需要sudo(从edorian的回答中获取部分),这就是我所做的。

pear clear-cache
pear install phpunit/File_Iterator
pear install phpunit/Text_Template
pear install --force --alldeps pear.phpunit.de/PHPUnit

基本上,文件迭代器和文本模板是我得到的两个重复项,所以那些是我必须单独安装的,所以在执行phpunit安装时不会失败。

答案 1 :(得分:2)

我也遇到了这个问题,因为工作中的服务器仍然在PHP 5.2上,直接从PEAR安装PHPUnit会选择一些与PHP 5.2不兼容的软件包的错误版本。

为了解决安装问题:

1)我首先卸载来自渠道phpunit的所有软件包。

2)接下来,我安装了正确版本的冲突软件包

pear install pear.phpunit.de/File_Iterator-1.3.2
pear install pear.phpunit.de/Text_Template-1.1.2
pear install pear.phpunit.de/PHP_Timer-1.0.2

3)接下来我可以安装phpunit

[root@DanielGarcia ~]# pear install pear.phpunit.de/phpunit
Did not download optional dependencies: pear.phpunit.de/PHP_Invoker, use --alldeps to download automatically
phpunit/PHPUnit can optionally use package "pear.phpunit.de/PHP_Invoker" (version >= 1.1.0)
downloading PHPUnit-3.6.12.tgz ...
Starting to download PHPUnit-3.6.12.tgz (120,240 bytes)
..........................done: 120,240 bytes
downloading PHP_CodeCoverage-1.1.4.tgz ...
Starting to download PHP_CodeCoverage-1.1.4.tgz (132,781 bytes)
...done: 132,781 bytes
downloading PHPUnit_MockObject-1.1.1.tgz ...
Starting to download PHPUnit_MockObject-1.1.1.tgz (19,910 bytes)
...done: 19,910 bytes
downloading PHP_TokenStream-1.1.4.tgz ...
Starting to download PHP_TokenStream-1.1.4.tgz (9,877 bytes)
...done: 9,877 bytes
install ok: channel://pear.phpunit.de/PHPUnit_MockObject-1.1.1
install ok: channel://pear.phpunit.de/PHP_TokenStream-1.1.4
install ok: channel://pear.phpunit.de/PHP_CodeCoverage-1.1.4
install ok: channel://pear.phpunit.de/PHPUnit-3.6.12**

答案 2 :(得分:2)

我遇到了与Ubuntu-10.04相同的问题。与PHP 5.3.2兼容的PHPUnit版本是3.6。这就是造成问题的原因。我通过安装所有依赖项的确切版本来修复它。以下是我们需要的软件包:

  • PHPUnit的
  • File_Iterator-1.3.2
  • PHP_Timer-1.0.3
  • PHP_TokenStream-1.1.4
  • PHPUnit_MockObject-1.1.1
  • Text_Template-1.1.2
  • PHP_CodeCoverage

详细说明为here

答案 3 :(得分:1)

最近有一个包装问题导致了这个错误:

要修复它,请尝试:

sudo pear install --force --alldeps pear.phpunit.de/PHPUnit

你可能已经这样做但是留给其他人:

sudo pear clear-cache

(一旦它恢复;目前似乎有问题。)

bugtracker上讨论的参考问题:

https://github.com/sebastianbergmann/phpunit/issues/687

和梨的错误:

https://pear.php.net/bugs/bug.php?id=19650