Ich arbeite an Laravel 5.2.
Wenn ich den Composer-Installations- und Composer-Aktualisierungsbefehl ausführte, wird folgender Fehler angezeigt:
[InvalidArgumentException] Command "optimize" is not defined.
Bitte lassen Sie mich wissen, wie ich dieses Problem lösen kann.
Dieser handwerkliche Befehl ist veraltet. Entfernen Sie es einfach aus Ihrer composer.json-Datei.
https://laravel.com/docs/5.6/upgrade sagt:
Der zuvor veraltete
optimize
Artisan-Befehl wurde entfernt . Mit den letzten Verbesserungen an PHP selbst, einschließlich des OPcaches, wurde die Der Befehloptimize
bietet keinen relevanten Leistungsvorteil mehr . Daher können Siephp artisan optimize
aus derscripts
.__ entfernen. in Ihrercomposer.json
-Datei.
"scripts": {
"post-root-package-install": [
"php -r \"file_exists('.env') || copy('.env.example', '.env');\""
],
"post-create-project-cmd": [
"php artisan key:generate",
"php artisan jwt:secret -f"
],
"post-install-cmd": [
"Illuminate\\Foundation\\ComposerScripts::postInstall",
"php artisan optimize"
],
"post-update-cmd": [
"Illuminate\\Foundation\\ComposerScripts::postUpdate",
"php artisan optimize"
]
},
entfernen Sie php artisan optimize
aus dem post-install-cmd
-Array und auch aus post-update-cmd
dann sieht es so aus.
"scripts": {
"post-root-package-install": [
"php -r \"file_exists('.env') || copy('.env.example', '.env');\""
],
"post-create-project-cmd": [
"php artisan key:generate",
"php artisan jwt:secret -f"
],
"post-install-cmd": [
"Illuminate\\Foundation\\ComposerScripts::postInstall",
],
"post-update-cmd": [
"Illuminate\\Foundation\\ComposerScripts::postUpdate",
]
},
funktioniert einwandfrei ohne Vorwarnung.
So fügen Sie andere akzeptierte Antworten hinzu:
Diesem Fehler begegne ich bei der Migration von laravel5.2 nach laravel5.6
Folgende Änderung wurde im composer.json vorgenommen
Stellen Sie sicher, dass "post-create-project-cmd" von "Scripts" nicht über "Illuminate\Foundation\ComposerScripts :: postInstall", .__ verfügt. "PHP Handwerker optimieren" Linie
Stellen Sie sicher, dass "post-update-cmd" von "Scripts" nicht vorhanden ist
"Illuminate\Foundation\ComposerScripts :: postUpdate", "PHP Handwerker optimieren" Linie
** Projekt wurde noch nicht ausgeführt **
Protokolldatei zeigt Fehler "Bitte geben Sie einen gültigen Cache-Pfad an". Führen Sie den folgenden Befehl aus dem Projektstamm aus, und es hat funktioniert.
mkdir -p storage/framework/{sessions,views,cache}
Für mehr Details ist es auf Laravel News