Composer: Beim Auschecken eines bestimmten Commits aus einem Repository werden Anforderungen fälschlicherweise aus der Datei composer.json im obersten Commit des Zweigs aufgelöst

Erstellt am 4. Feb. 2015  ·  3Kommentare  ·  Quelle: composer/composer

Ich versuche, eine ältere Version der Bibliothek anzufordern, die kein Tag hat. Repositories sind wie folgt definiert:

    "repositories": [
        { "type": "vcs", "url": "https://github.com/nette/nette.git" }
    ],
    "require": {
        "nette/nette": "dev-master#b8ca5b82d407453b8cf26ce08a36ee698452d000"
    },

Der Commit ist in der Verzweigung dev-master vorhanden, composer.json ist ohne Anforderungen vorhanden , jedoch wird auf composer install ein Fehler ausgegeben, der darauf hindeutet, dass das Paket Anforderungen vom obersten Commit von dev-master löst.

Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - nette/nette dev-master requires nette/application >=2.3.0 -> no matching package found.
    - nette/nette dev-master requires nette/application >=2.3.0 -> no matching package found.
    - Installation request for nette/nette dev-master#b8ca5b82d407453b8cf26ce08a36ee698452d000 -> satisfiable by nette/nette[dev-master].

Composer-Version ist 07c644ac229a21df80180598d8bb9aaba232eecb

Hilfreichster Kommentar

Das liegt daran, dass der Composer die Datei „composer.json“ in diesem bestimmten Hash nicht kennt. Packagist speichert nur die neueste composer.json für dev-master. Composer kann nicht feststellen, was sich in der composer.json dieses bestimmten Commits befindet. Es würde einen Git-Klon erfordern, um das feststellen zu können. Aus vernünftigen Gründen wird dies nicht unterstützt, siehe #599. Ihre einzige Möglichkeit besteht darin, mit diesem Commit eine Sperrdatei zu erstellen.

Alle 3 Kommentare

Das liegt daran, dass der Composer die Datei „composer.json“ in diesem bestimmten Hash nicht kennt. Packagist speichert nur die neueste composer.json für dev-master. Composer kann nicht feststellen, was sich in der composer.json dieses bestimmten Commits befindet. Es würde einen Git-Klon erfordern, um das feststellen zu können. Aus vernünftigen Gründen wird dies nicht unterstützt, siehe #599. Ihre einzige Möglichkeit besteht darin, mit diesem Commit eine Sperrdatei zu erstellen.

Ja, siehe die blaue Notiz unter https://getcomposer.org/doc/04-schema.md#package -links (muss ein bisschen scrollen) für weitere Details.

OK, sicher, danke für die Erklärung.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen