15

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

4 に答える 4

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

基本的に、ファイル イテレータとテキスト テンプレートは重複を取得していた 2 つであったため、個別にインストールする必要があったため、phpunit のインストール時に失敗することはありませんでした。

于 2012-10-25T21:43:50.200 に答える
2

Ubuntu-10.04 でも同じ問題に直面していました。PHP 5.3.2 と互換性のある PHPUnit のバージョンは 3.6 です。これが問題を引き起こしているのです。すべての依存関係の正確なバージョンをインストールすることで修正しました。必要なパッケージは次のとおりです。

  • PHPユニット
  • 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

詳細な手順はこちら

于 2013-01-04T16:35:13.543 に答える
2

職場のサーバーがまだ PHP 5.2 であり、PHPUnit を PEAR から直接インストールすると、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**
于 2012-12-19T13:55:02.713 に答える
1

最近、そのエラーにつながるパッケージの問題がありました。

それを修正するには、次のことを試してください。

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

そして、あなたはすでにそれをしているかもしれませんが、他の人にそれを任せます:

sudo pear clear-cache

(一度バックアップすると、現時点では問題があるようです)。

バグトラッカーで議論された参照問題:

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

と梨のバグ:

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

于 2012-10-24T17:01:52.437 に答える