web-dev-qa-db-ja.com

未定義のメソッドPHP_CodeCoverage_Filter :: getInstance()の呼び出し

システムにPHPUnitの新しいコピーがインストールされています(Ubuntu 11)が、コンソールでphpunitと入力するたびに次のエラーが表示されます。

PHP Fatal error: Call to undefined method PHP_CodeCoverage_Filter::getInstance() in /usr/bin/phpunit on line 39

私の知る限り、PHPUnitのコードカバレッジがインストールされています。

>Sudo pear install phpunit/PHP_CodeCoverage

phpunit/PHP_CodeCoverage is already installed and is the same as the released version 1.1.1

install failed

このエラーが発生する理由と修正方法を教えてください。

48
Ian Hunter

PHPUnitをロードする実行可能スクリプトは、3.6.xに移行するときに更新されていてはなりません。再インストールしてください。

Sudo pear uninstall phpunit/PHPUnit
Sudo pear install phpunit/PHPUnit

これが機能しない場合、 PEAR自体が最新であることを確認してください

34
David Harkness

Ubuntu 11.10にはしばらくの間問題がありましたが、修正されていません。これは、phpunitをpearで動作させる唯一の方法です。 (梨を使用する以外に、梨なしでそれを行う方法を調べることができます。それについてのオンライン記事がありますが、そのような負担を手動で行うのは望ましくありません)。これは私のために働いた唯一のものです:

Sudo apt-get remove phpunit

Sudo pear channel-discover pear.phpunit.de

Sudo pear channel-discover pear.symfony-project.com

Sudo pear channel-discover components.ez.no

Sudo pear update-channels

Sudo pear upgrade-all

Sudo pear install --alldeps phpunit/PHPUnit

Sudo pear install --force --alldeps phpunit/PHPUnit
118
Anthony

一部の人にとっては、Anthonyの solution は、Unknown remote channel: pear.symfony.comまたはphpunit/PHPUnit requires package "channel://pear.symfony.com/Yaml"

これが、これを解決するアップグレードされたソリューションです。

Sudo apt-get remove phpunit

Sudo pear channel-discover pear.phpunit.de

Sudo pear channel-discover pear.symfony-project.com

Sudo pear channel-discover components.ez.no

Sudo pear channel-discover pear.symfony.com

Sudo pear update-channels

Sudo pear upgrade-all

Sudo pear install pear.symfony.com/Yaml

Sudo pear install --alldeps phpunit/PHPUnit

Sudo pear install --force --alldeps phpunit/PHPUnit
23
Starx

わたしにはできる。最初は、最後のコマンドに--forceを使用しませんでした。「未定義のメソッドPHP_CodeCoverage_Filter :: getInstanceを呼び出す」という致命的なエラーが発生しました。次に--forceを使用して、この問題を解決しました。

1
casilin

私は同じ問題を抱えていましたが、正しい環境変数を設定してそれを解決することができました。

ここで解決できます http://rkrants.blogspot.in/2013/01/installing-phpunitpear-in-ubuntu-1210.html

つまり、変数を正しく設定した後、pearを使用してPHPUnitを再インストールする必要がありました。

Ubuntu 12.10インストールを使用しましたが、今では完全に機能します。

0