Fehler: Ausführbare PHPUnit-Datei nicht gefunden

Fehler: Ausführbare PHPUnit-Datei nicht gefunden

In einem API-Projekt haben wir composer.json wie folgt eingestellt:

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

Und beim ersten Mal composer installwar alles in Ordnung. Phpunit funktionierte, wenn es mit aufgerufen wurde vendor/bin/phpunit. Mein Arbeitscomputer hat ein Windows 7-Betriebssystem, wir verwenden jedoch Git für dieses Projekt, und wenn ich von einem anderen Computer (Kubuntu 14.04) daran arbeite, git pullkann ich nach dem Ausführen keine Unit-Tests mehr mit ausführen vendor/bin/phpunit- es schlägt mit der Fehlermeldung fehl, dass Vendor/Bin/PhpUnit nicht gefunden werden kann.

Auf der Linux-Maschine habe ich die nicht funktionierende ausführbare Datei vendor/bin/phpunit gelöscht, den Ordner vendor/phpunit entfernt und ihn von Composer über ersetzen lassen composer update. Ab diesem Zeitpunkt kann ich Unit-Tests wieder wie zuvor ausführen. Unter Windows 7 funktioniert dies jedoch nicht so reibungslos. Es ist schwieriger.

composer.jsonMeine Frage ist: Mache ich etwas falsch, wenn ich die Dateien über GitHub verfolge und dann auf verschiedenen Betriebssystemen arbeite? Könnte ich diesen Fehler vermeiden, wenn ich nur den Inhalt des Verzeichnisses verfolge und vendor/phpunit/phpunitihn nicht verfolge (und die Dateien bei ihrem jeweiligen Betriebssystem belasse)? Danke, Adam.

Antwort1

vendorDer Zweck von Composer besteht darin, dass Sie nur ein leeres(!) Verzeichnis in Ihrem Repo haben müssen, aber composer.json(Anforderungen) und composer.lock(zuletzt getestete bestimmte Versionen) verfolgen und composer installnach dem Checkout auf einer neuen Entwicklungsmaschine ausführen müssen.

(NB: composer installEs werden die spezifischen Versionen entsprechend der composer.lockDatei installiert. composer updateEs wird die neueste Version installiert, die den in der Datei definierten Anforderungen entspricht composer.json.)

Composer sollte dann die entsprechende Binärdatei für Ihr System herunterladen und in das Verzeichnis legen vendor/bin/.

verwandte Informationen