2012-02-08 6 views
48

私は私のシステム(Ubuntuの11)にインストールされたPHPUnitの新しいコピーを持っているが、私は、コンソールでphpunitを入力するたびに、私は次のエラーを取得する:コール::のgetInstance()

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

なぜ私はこのエラーを取得していますし、どのように私はそれを修正することができますか?

+1

どのバージョンのPHPUnitがインストールされていますか? 'pear info phpunit/PHPUnit'' phpunit'実行可能スクリプトが3.6.xに更新されていないようです。 –

+0

'発売日2012-01-27 10:49:19 リリースバージョン3.6.10(安定版)' –

+1

2014年末現在、もう梨でphpunitをインストールすることはできません。 https://github.com/sebastianbergmann/phpunit/wiki/End-of-Life-for-PEAR-Installation-Method – siliconrockstar

答えて

34

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

sudo pear uninstall phpunit/PHPUnit 
sudo pear install phpunit/PHPUnit 

これが動作しない場合は、make sure PEAR itself is up-to-date

+0

PHPUnitをアンインストールして再インストールしました。ありがとうございました。 –

+4

ここにPEARを最新にする方法を書いてもいいですか?リンクは今終了しません。 – sensorario

118

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

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 
+9

このソリューションは、私の(新しい)12.04のインストールに役立ちました。 –

+0

また、私の(古い)12.04 insall(10.04 - > 11.04 - > 11.10 - > 12.04)のために働いた – Jens

+1

スーパーグリーン、私に多くの時間を節約!魅力のように動作します。 –

23

アントニーの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 
+0

は完全に働いた!ありがとうございました:) – Zabs

+0

私のUbuntu 12.04 VMでphpUnitを動かすためにたくさんの釣りをした後、この解決策は私のために働いていました。ありがとう! –

+0

Ubuntu 12.04が修正されました。誰もが何を言っているのか分かりません。 – jmc

0

:SOここ

はこれを解決し、アップグレードソリューションです。

あなたはここに http://rkrants.blogspot.in/2013/01/installing-phpunitpear-in-ubuntu-1210.html

要するに、私は正しい変数を設定した後、梨を使用して再インストールしたPHPUnitに持っていた解決を得ることができます。

私はUbuntu 12.10インストールを使用しましたが、今は完全に動作します。

1

それは私のために働く。私は最後のコマンドに--forceを使用しなかったので、 "定義されていないメソッドPHP_CodeCoverage_Filter :: getInstanceを呼び出す"という致命的なエラーが発生しました。それから、--forceを使ってこの問題を解決しました。

0

私は作曲

これらの手順を試して使用してそれを解決するために管理し、同じ問題に出くわした -

まずアンインストールPHPUnitの

sudo apt-get remove phpunit 

作曲インストール - http://getcomposer.org/doc/01-basic-usage.md#installation

$ curl -sS https://getcomposer.org/installer | php 

をphpunit-http://phpunit.de/manual/3.7/en/installation.htmlをインストールしてください作曲を介してシステム全体のインストールの場合 、次のコマンドを実行します。

$ composer global require 'phpunit/phpunit=3.7.*' 

また、あなたは〜/ .composer /ベンダー/ binに/あなたのパスを持っていることを確認する必要があります。

関連する問題