Hier ist der Fehler, den ich erhalte:
Script php artisan optimize handling the post-update-cmd event returned with an error
[RuntimeException]
Error Output:
update [--prefer-source] [--prefer-dist] [--dry-run] [--dev] [--no-dev] [--lock] [--no-plugins] [--no-custom-installers] [--no-scripts] [--no-progress] [--with-dependencies] [-v|vv|vvv|--verbose] [-o|--optimize-autoloader] [packages1] ... [packagesN]
Dies zeigt nach:
Writing lock file
Generating autoload files
Ich habe versucht, alle meine Ordner in meinem Lieferantenordner zu löschen. Das hat aber nichts geändert.
Ich verwende den MAMP-Server auf meinem Mac OS X.
PHP Version 5.4.10
mcrypt 2.5.8
Ich habe gerade "Sudo Composer Update - Verbose" ausprobiert und diese Fehlermeldung erhalten
Sudo composer update --verbose
Password:
Loading composer repositories with package information
Updating dependencies (including require-dev)
Generating autoload files
Script php artisan optimize handling the post-update-cmd event returned with an error
[RuntimeException]
Error Output:
Exception trace:
() at phar:///usr/bin/composer/src/Composer/EventDispatcher/EventDispatcher.php:148
Composer\EventDispatcher\EventDispatcher->doDispatch() at phar:///usr/bin/composer/src/Composer/EventDispatcher/EventDispatcher.php:107
Composer\EventDispatcher\EventDispatcher->dispatchCommandEvent() at phar:///usr/bin/composer/src/Composer/Installer.php:289
Composer\Installer->run() at phar:///usr/bin/composer/src/Composer/Command/UpdateCommand.php:118
Composer\Command\UpdateCommand->execute() at phar:///usr/bin/composer/vendor/symfony/console/Symfony/Component/Console/Command/Command.php:244
Symfony\Component\Console\Command\Command->run() at phar:///usr/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php:897
Symfony\Component\Console\Application->doRunCommand() at phar:///usr/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php:191
Symfony\Component\Console\Application->doRun() at phar:///usr/bin/composer/src/Composer/Console/Application.php:117
Composer\Console\Application->doRun() at phar:///usr/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php:121
Symfony\Component\Console\Application->run() at phar:///usr/bin/composer/src/Composer/Console/Application.php:83
Composer\Console\Application->run() at phar:///usr/bin/composer/bin/composer:43
require() at /usr/bin/composer:15
Hier ist der Fehler, den ich in meinen PHP Fehlerprotokollen gefunden habe:
[04-Nov-2013 20:45:44 Europe/Berlin] PHP Fatal error: Class 'Patchwork\Utf8\Bootup' not found in /Applications/MAMP/htdocs/-----/bootstrap/autoload.php on line 46
Ich habe gerade versucht, meinen Komponisten zu testen:
Sudo composer diagnose
Password:
Checking platform settings: OK
Checking http connectivity: OK
Checking composer.json: FAIL
No license specified, it is recommended to do so. For closed-source software you may use "proprietary" as license.
Name "andrew13/Laravel-4-Bootstrap-Starter-Site" does not match the best practice (e.g. lower-cased/with-dashes). We suggest using "andrew13/laravel-4-bootstrap-starter-site" instead. As such you will not be able to submit it to Packagist.
Checking disk free space: OK
Checking composer version: OK
Die Empfehlung wurde in der Fehlermeldung des letzten Befehls gerade angewendet. Jetzt wird alles als OK angezeigt.
Ich habe es gerade ausprobiert:
curl -sS https://getcomposer.org/installer | php -- --check
#!/usr/bin/env php
All settings correct for using Composer
Ich erhalte jetzt neue Fehler in meinen PHP Fehlerprotokollen:
[05-Nov-2013 05:45:45 Europe/Berlin] PHP Fatal error: Uncaught exception 'ReflectionException' with message 'Class config does not exist' in /Applications/MAMP/htdocs/---/bootstrap/compiled.php:165
Stack trace:
#0 /Applications/MAMP/htdocs/---/bootstrap/compiled.php(165): ReflectionClass->__construct('config')
#1 /Applications/MAMP/htdocs/---/bootstrap/compiled.php(142): Illuminate\Container\Container->build('config', Array)
#2 /Applications/MAMP/htdocs/---/bootstrap/compiled.php(444): Illuminate\Container\Container->make('config', Array)
#3 /Applications/MAMP/htdocs/---/bootstrap/compiled.php(233): Illuminate\Foundation\Application->make('config')
#4 /Applications/MAMP/htdocs/---/bootstrap/compiled.php(3151): Illuminate\Container\Container->offsetGet('config')
#5 /Applications/MAMP/htdocs/---/bootstrap/compiled.php(103): Illuminate\Exception\ExceptionServiceProvider->Illuminate\Exception\{closure}(Object(Illuminate\Foundation\Application))
#6 /Applications/MAMP/htdocs/---/bootstrap/compiled.php(163): Illuminate\Container\Container->Illum in /Applications/MAMP/htdocs/---/bootstrap/compiled.php on line 165
Ich glaube, dass dieser Fehler darauf zurückzuführen ist, dass mcrypt
nicht gefunden werden konnte.
Script PHP-Handwerker optimieren die Behandlung des mit einem Fehler zurückgegebenen Post-Update-Cmd-Ereignisses
Anscheinend ist es nicht ganz so einfach, mcrypt
zu installieren.
Installieren Sie das Paket php5-mcrypt
oder überprüfen Sie, ob es ordnungsgemäß installiert wurde.
Sudo apt-get install php5-mcrypt
Prüfen Sie, ob mcrypt
für PHP installiert und aktiviert ist:
php --ri mcrypt
Sie sind fertig, wenn es heißt:
mcrypt support => enabled
Andernfalls fahren Sie fort, wenn Folgendes angezeigt wird:
Extension 'mcrypt' not present.
Stellen Sie sicher, dass mcrypt.ini
im mods-available
-Verzeichnis von PHP vorhanden ist.
ls /etc/php5/mods-available/mcrypt.ini
Wenn No such file or directory
angezeigt wird, erstellen Sie einen symbolischen Link von mcrypt.ini
zum mods-available
-Verzeichnis von PHP.
Sudo ln -s /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available
Aktiviere den Mod.
Sudo php5enmod mcrypt
Starten Sie Apache neu.
Sudo service Apache2 restart
Prüfen Sie erneut, ob mcrypt
aktiviert ist.
php --ri mcrypt
Die letzten Schritte wurden von Vuk Stanković inspiriert.
Okay, ich habe bei Google nachgeforscht und es scheint, dass dies mit dem Autoload-Caching von Composer zu tun hat. Es gibt verschiedene Möglichkeiten, wie Sie dies lösen können.
composer dump-autoload
Dies würde das Autoload-Zeug für Sie neu erstellen und es sollte Ihr Problem vorerst lösen.
Wenn dies nicht hilft, versuchen Sie, alles zu löschen und neu zu installieren: [ref]
rm -rf /path/to/composer.lock /path/to/vendor/
composer install
Dies würde so ziemlich alles neu erschaffen.
Es sieht so aus, als ob Ihre Laravel-Installation nicht korrekt ausgeführt wurde. Da ein Teil von composer.json
den php artisan clear-compiled
und php artisan optimize
ausführt, wenn Ihre Laravel-Anwendung nicht funktioniert, schlägt der Composer fehl.
Führen Sie Ihr Composer-Update aus, ohne die Laravel -Skripts aufzurufen.
php composer update --no-scripts
Danach können Sie die Befehle entweder manuell aus dem Scripts-Block in Ihrer composer.json ausführen. Ansonsten können Sie einfach einen Standard ausführen
php composer update
erneut, was die Skripte für Sie ausführen wird.
Um dies zu beheben, müssen Sie mcrypt
installieren.
Führen Sie in Ubuntu den folgenden Befehl aus:
Sudo apt-get install php5-mcrypt
Dann aktualisieren Sie den Komponisten:
composer update
Eine andere Lösung für mich, xdebug.scream = 1
, gibt ein Problem:
1) Finden Sie die xdebug-Konfigurationsdatei.
$ Sudo find / -name xdebug.ini
2) Bearbeiten Sie die Datei mit einem beliebigen Texteditor.
$ Sudo vi /your_path/xdebug.ini
3) Setze xdebug.scream = 0
4) Server neu laden
$ Sudo service Apache2 reload
Beim Versuch, das Composer-Update auszuführen, hatte ich ein ähnliches Problem, und keine der obigen Lösungen hatte funktioniert. Es stellte sich heraus, dass ich 2 benötigte Abschnitte in meinem composer.json hatte, was eigentlich falsch ist.
"require": {
"laravel/framework": "4.1.*"
},
"config": {
"preferred-install": "dist"
},
"minimum-stability": "stable",
"require": {
"barryvdh/laravel-ide-helper": "1.*",
"zizaco/confide": "3.2.x",
"laravelbook/ardent": "dev-master",
"zizaco/entrust": "dev-master"
},
"require-dev": {
"way/generators": "2.*",
"fzaninotto/faker": "1.3.*@dev"
}
Das Kombinieren der beiden wie unten gelöst, löste mein Problem.
"require": {
"laravel/framework": "4.1.*",
"barryvdh/laravel-ide-helper": "1.*",
"zizaco/confide": "3.2.x",
"laravelbook/ardent": "dev-master",
"zizaco/entrust": "dev-master"
},
Wenn das Problem weiterhin besteht, löschen Sie die Datei composer.lock und das Herstellerverzeichnis und führen Sie das Problem aus
mv ~/.composer/cache ~/.composer/cache.bak
Löschen Sie den Composer-Cache und führen Sie ihn schließlich aus
Sudo composer install
Dies sollte das Problem lösen.