it-swarm.com.de

So entfernen Sie nicht verwendete Abhängigkeiten von Composer?

Ich habe ein Paket mit Composer installiert, und es hat viele andere Pakete als Abhängigkeiten installiert.

Jetzt habe ich das Hauptpaket mit composer remove packageauthor/packagename Deinstalliert, aber alle alten Abhängigkeiten wurden nicht entfernt. Ich habe erwartet, dass composer aufräumt und nur Pakete aufbewahrt, die gemäß composer.json Und ihren Abhängigkeiten erforderlich sind.

Wie kann ich composer zum Bereinigen und Entfernen aller nicht verwendeten Pakete zwingen?

176
Lorenz Meyer

Der richtige Weg dazu ist:

composer remove jenssegers/mongodb --update-with-dependencies

Ich muss zugeben, dass die Flagge hier nicht ganz klar ist, was sie tun wird.

Aktualisieren

composer remove jenssegers/mongodb

Ab v1.0.0-beta2--update-with-dependencies ist die Standardeinstellung und wird nicht mehr benötigt.

331
Denis Pshenov

In der Tat ist es sehr einfach.

composer update

all dies wird für Sie erledigt, aber es werden auch die anderen Pakete aktualisiert.

Um ein Paket zu entfernen, ohne die anderen zu aktualisieren, geben Sie dieses Paket im Befehl an, zum Beispiel:

composer update monolog/monolog

entfernt das Paket monolog/monolog.

Es können jedoch leere Ordner oder Dateien verbleiben, die nicht automatisch entfernt werden können und die manuell entfernt werden müssen.

27
Lorenz Meyer

die folgenden Befehle machen dasselbe perfekt

rm -rf vendor

composer install 
15
Max Wen

Führen Sie einfach composer install Aus - Ihr vendor -Verzeichnis spiegelt die Abhängigkeiten in der Datei composer.lock Wider.

Mit anderen Worten - es wird jeder Anbieter gelöscht, der in composer.lock Fehlt.

Bitte aktualisieren Sie den composer selbst, bevor Sie diesen ausführen.

9
Valentas