Ein Entwickler hat mir sein Projekt geschickt, um damit zu arbeiten, aber wenn ich versuche, meine Lieferanten zu aktualisieren oder zu installieren, funktioniert alles bis zum Ende großartig und es gibt die Nachricht unten aus.
%Vor%Irgendwelche Ideen? Hier ist ein vollständiges Protokoll Ссылка
Wenn Sie composer update
ausführen, generiert composer
eine Datei mit dem Namen composer.lock
, die alle Ihre Pakete und die aktuell installierten Versionen auflistet. Dadurch können Sie später composer install
ausführen, wodurch die in dieser Datei aufgelisteten Pakete installiert werden und die zuletzt verwendete Umgebung wiederhergestellt wird.
In Ihrem Protokoll wird angezeigt, dass einige der Paketversionen, die in Ihrer composer.lock
-Datei aufgelistet sind, nicht mehr verfügbar sind. Wenn Sie also composer install
ausführen, beschwert es sich und schlägt fehl. Das ist normalerweise keine große Sache - einfach composer update
ausführen und es wird versucht, eine Reihe von Paketen zu erstellen, die zusammenarbeiten und eine neue composer.lock
-Datei schreiben.
Sie stoßen jedoch auf ein anderes Problem. Offenbar hat der ursprüngliche Entwickler in der Datei composer.json
einige fehlgeschlagene Vor- oder Nachaktualisierungsaktionen hinzugefügt, insbesondere einen php artisan migrate
-Befehl. Dies kann vermieden werden, indem Sie Folgendes ausführen: composer update --no-scripts
Dadurch wird das Composer-Update ausgeführt, aber die Skripts, die der Datei hinzugefügt wurden, werden übersprungen. Sie sollten das Update erfolgreich auf diese Weise ausführen können.
Dies löst das Problem jedoch nicht langfristig. Es gibt zwei Probleme:
Eine Migration bezieht sich auf Datenbankänderungen, nicht auf zufällige Dinge wie das Zusammenstellen von Assets. Gehen Sie die Migrationen durch und entfernen Sie den Code von dort.
Assets sollten nicht jedes Mal kompiliert werden, wenn Sie composer update
ausführen. Entfernen Sie diesen Schritt aus der composer.json
-Datei.
Nach dem, was ich gelesen habe, scheint die beste Vorgehensweise darin zu bestehen, Assets bei Bedarf während der Entwicklung zu kompilieren (dh wenn Sie Änderungen an Ihren LESS-Dateien vornehmen - idealerweise mit einem Tool wie gulp.js ) und vor der Bereitstellung.
Tags und Links php laravel composer-php