2017-03-13 16 views
0

phpunitバージョンを更新しようとしていますが、通常のcomposer installでは動作していないようです。次のようにPHPUnitのバージョンがComposerのバージョンと一致しません

マイcomposer.jsonファイルは次のとおりです。

{ 
    "require": { 
     ... 
    }, 
    "require-dev": { 
     "phpunit/phpunit": "4.*", 
     "phpunit/php-invoker": "^1.1", 
     "phpunit/dbunit": "^2.0" 
    } 
} 

そしてphp composer.phar installphp composer.phar updateとして作曲installupdateの両方を実行している(?私は問題になる可能性がありますグローバルにインストール作曲を持っていない)私は

を取得
Loading composer repositories with package information 
Installing dependencies (including require-dev) from lock file 
Nothing to install or update 

私はPHPUnitのバージョンを確認するためにチェックすると、私は

$ phpunit --version 
PHPUnit 3.7.28 by Sebastian Bergmann. 
を取得

私のPHPのバージョンは5.6で、解決策を除外しているようです。this very similar issueです。

というグローバルバージョンがあり、phpunitがインストールされていて、ローカルのものが上書きされています。しかし、私は地球環境の残りの部分にあまり多くの変更を加えることなくこれを修正する方法についての指針を見つけることができませんでした。

+0

はい、グローバルな 'phpunit'がインストールされていますあなたのレポ/作曲家の外。 Composerによってインストールされたものは、 'vendor/bin/phpunit'(あなたが好きな場合には直接使うことができます)にあります。 – ceejayoz

+0

@ceejayoz代わりに 'phpunit'のローカルバージョンを実行する方法がありますか?前もって感謝します。 – cchapman

+0

もちろん、あなたのコマンドに 'phpunit'の代わりに' vendor/bin/phpunit'を使うだけです(すでに 'cd'リポジトリに入っていると仮定します)。 'vendor/bin/phpunit --version'等 – ceejayoz

答えて

4

このコマンド自体は、シェルのパスでPHPUnit実行可能ファイルを検索します。 composer installは、それをコンポーザのbinディレクトリに置きます。デフォルトはvendor/binです。 ./vendor/bin/phpunitで直接スクリプトを実行するか、コンポーザーで実行できるようにして、プロジェクトの正しいパスを解決してくださいcomposer exec phpunit

関連する問題