Komponist Update Laravel

9

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 Ссылка

    
Brent 16.07.2014, 14:07
quelle

2 Antworten

29

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:

  1. 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.

  2. 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.

    
Kryten 16.07.2014, 15:38
quelle
11

Folgendes funktioniert für mich:

%Vor%     
Ghulam Akbar 01.04.2016 07:43
quelle

Tags und Links

yii\base\ErrorException
Copied! Copy Stacktrace Search Stackoverflow Search Google Error

PHP Core Warningyii\base\ErrorException

PHP Startup: Unable to load dynamic library 'mongodb.so' (tried: /usr/lib64/php/modules/mongodb.so (/usr/lib64/php/modules/mongodb.so: cannot open shared object file: No such file or directory), /usr/lib64/php/modules/mongodb.so.so (/usr/lib64/php/modules/mongodb.so.so: cannot open shared object file: No such file or directory))

$_GET = [
    'id' => '321932',
    'url' => 'composer-update-laravel',
];

$_SESSION = [
    '__flash' => [],
];