Ich habe ein Paket mit Composer installiert und viele andere Pakete als Abhängigkeiten installiert.
Jetzt habe ich das Hauptpaket mit deinstalliert composer remove packageauthor/packagename
, aber alle alten Abhängigkeiten wurden nicht entfernt. Ich hatte erwartet, dass der Komponist bereinigt und nur Pakete behält, die entsprechend composer.json
und deren Abhängigkeiten benötigt werden.
Wie kann ich den Komponisten zwingen, alle nicht verwendeten Pakete zu bereinigen und zu entfernen?
php
composer-php
Lorenz Meyer
quelle
quelle
composer remove …
, dies aber vergessen haben,--update-with-dependencies
bis Sie über diese Frage stolpern - nachfolgende Aufrufe voncomposer remove
werden nicht alle Abhängigkeiten aufheben. Sie müssen zurückkehren, Komponistinstall
, danncomposer remove --update-with-dependencies
You are using the deprecated option "update-with-dependencies". This is now default behaviour. The --no-update-with-dependencies option can be used to remove a package without its dependencies
composer update
von @LorenzMeyer ins Spiel : Daumen hoch zu dieser Antwort auf @LorenzMeyerIn der Tat ist es sehr einfach.
wird dies alles für Sie tun, aber es wird auch die anderen Pakete aktualisieren.
Um ein Paket zu entfernen, ohne die anderen zu aktualisieren, geben Sie dieses Paket im Befehl an, zum Beispiel:
wird das
monolog/monolog
Paket entfernen .Es können jedoch einige leere Ordner oder Dateien verbleiben, die nicht automatisch entfernt werden können und die manuell entfernt werden müssen.
quelle
--prune
Die folgenden Befehle machen dasselbe perfekt
quelle
composer install
löscht automatisch nicht verwendete PaketeEinfach ausführen
composer install
- Ihrvendor
Verzeichnis spiegelt die Abhängigkeiten in dercomposer.lock
Datei wider .Mit anderen Worten - es wird jeder Anbieter gelöscht, der in fehlt
composer.lock
.Bitte aktualisieren Sie den Composer selbst, bevor Sie dies ausführen.
quelle