エラー phpunit 実行ファイルが見つかりません

エラー phpunit 実行ファイルが見つかりません

API プロジェクトでは、composer.json を次のように設定します。

{
    "require-dev": {
        "phpunit/phpunit": "4.7.*"
    },
     "require": {
        "monolog/monolog": "1.5.*"
    }
}

そして、最初はcomposer installすべてうまくいきました。 で呼び出すと、Phpunit は動作しましたvendor/bin/phpunit。私の作業マシンは Windows 7 OS ですが、このプロジェクトでは git を使用しており、別のマシン (Kubuntu 14.04) からこれに取り組んでいる場合、 を実行した後git pull、 でユニット テストを実行できなくなりvendor/bin/phpunit、vendor/bin/phpunit が見つからないというエラーで失敗します。

Linux マシンでは、機能しない実行可能ファイル vendor/bin/phpunit を削除し、vendor/phpunit フォルダーを削除して、composer で を介して置き換えましたcomposer update。その時点で、以前と同じようにユニット テストを実行できるようになりました。ただし、これは Windows 7 ではシームレスに動作しません。これはより複雑です。

私の質問は、github でファイルを追跡してからさまざまなオペレーティング システムで作業することで、何か間違ったことをしているのでしょうか?ディレクトリcomposer.jsonの内容を追跡せずに追跡するだけでvendor/phpunit/phpunit(ファイルを特定の OS に残しておくと)、このエラーを回避できますか? ありがとうございます、Adam。

答え1

Composer の目的は、vendorリポジトリに空のディレクトリ (!) を用意し、composer.json(要件) とcomposer.lock(最後にテストした特定のバージョン) を追跡して、composer installチェックアウト後に新しい開発マシンで実行することです。

(注: はファイルcomposer installに従って特定のバージョンをインストールしますcomposer.lockcomposer updateは、で定義された要件に一致する最新バージョンをインストールしますcomposer.json。)

その後、Composer はシステムに適したバイナリをダウンロードし、それをディレクトリに配置しますvendor/bin/

関連情報