Ich versuche, eine bestimmte Version eines Pakets mit Composer zu installieren. Ich habe es versucht composer install
und composer require
aber sie installieren die neueste Version des Pakets. Was ist, wenn ich eine ältere Version möchte?
Ich versuche, eine bestimmte Version eines Pakets mit Composer zu installieren. Ich habe es versucht composer install
und composer require
aber sie installieren die neueste Version des Pakets. Was ist, wenn ich eine ältere Version möchte?
Antworten:
composer require vendor/package:version
zum Beispiel:
composer require refinery29/test-util:0.10.2
Fügen Sie doppelte Anführungszeichen hinzu, um den Caret-Operator in der Versionsnummer zu verwenden.
composer require middlewares/whoops "^0.4"
Verwenden Sie einfach PHP Composer.phar erforderlich
Beispielsweise :
php composer.phar require doctrine/mongodb-odm-bundle 3.0
Auch bei Installation erhältlich.
https://getcomposer.org/doc/03-cli.md#require https://getcomposer.org/doc/03-cli.md#install
install
- nur mit verfügbar require
. Wenn Sie gehofft haben, zu einer bestimmten Version zu wechseln und Ihre composer.lock
Datei einzuchecken , können Sie dies, aber Sie composer require
müssten die Änderung verwenden und anschließend zurücksetzen composer.json
.
Verwenden Sie, wie @alucic erwähnt, Folgendes:
composer require vendor/package:version
oder Sie können verwenden:
composer update vendor/package:version
Sie sollten diesen StackOverflow-Beitrag wahrscheinlich über Unterschiede zwischen der Composer-Installation und dem Composer-Update lesen .
Im Zusammenhang mit Fragen zu Versionsnummern können Sie die Composer-Dokumentation zu Versionen lesen , aber hier kurz:
Mit Tilde erhalten Sie automatische Updates von Patches, kleinere und größere Versionen werden jedoch nicht aktualisiert. Wenn Sie Caret verwenden, erhalten Sie Patches und Nebenversionen, jedoch keine Hauptversionen (Änderungen).
Die Tilde-Version wird als "sicherer" Ansatz angesehen. Wenn Sie jedoch zuverlässige Abhängigkeiten (gut gepflegte Bibliotheken) verwenden, sollten Sie keine Probleme mit der Caret-Version haben (da geringfügige Änderungen keine Änderungen bewirken sollten.
Angenommen, Sie möchten Laravel Collective installieren. Es ist derzeit in Version 6.x, aber Sie möchten Version 5.8. Sie können den folgenden Befehl ausführen:
composer require "laravelcollective/html":"^5.8.0"
Ein gutes Beispiel finden Sie hier in der Dokumentation: https://laravelcollective.com/docs/5.5/html
In Ihre composer.json
können Sie setzen:
{
"require": {
"vendor/package": "version"
}
}
dann ausführen composer install
oder composer update
aus dem Verzeichnis mit composer.json
. Manchmal ist der Komponist für mich hinky, also fange ich composer clear-cache; rm -rf vendor; rm composer.lock
vorher composer install
an, um sicherzugehen, dass es frische Sachen gibt.
Wie die anderen Antworten zeigen, können Sie vom Terminal aus natürlich Folgendes ausführen:
composer require vendor/package:version
Und zur Versionierung:
- Artikel über die offiziellen Versionen des Komponisten
- Ecosia Search