wake-up-neo.net

Mein Komponist wird nicht vollständig mit aktualisiert Laravel 4 es bleibt beim handwerker hängen

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
15
jnbdz

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.

  1. Installieren Sie das Paket php5-mcrypt oder überprüfen Sie, ob es ordnungsgemäß installiert wurde.

    Sudo apt-get install php5-mcrypt
    
  2. Prüfen Sie, ob mcrypt für PHP installiert und aktiviert ist:

    php --ri mcrypt
    
  3. Sie sind fertig, wenn es heißt:

    mcrypt support => enabled
    

    Andernfalls fahren Sie fort, wenn Folgendes angezeigt wird:

    Extension 'mcrypt' not present.
    
  4. Stellen Sie sicher, dass mcrypt.ini im mods-available-Verzeichnis von PHP vorhanden ist.

    ls /etc/php5/mods-available/mcrypt.ini
    
  5. 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
    
  6. Aktiviere den Mod.

    Sudo php5enmod mcrypt
    
  7. Starten Sie Apache neu.

    Sudo service Apache2 restart
    
  8. Prüfen Sie erneut, ob mcrypt aktiviert ist.

    php --ri mcrypt
    

Die letzten Schritte wurden von Vuk Stanković inspiriert.

27

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.

8
Fleshgrinder

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.

3
Hailwood

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 
0
BM2ilabs

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
0
X Sham

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.

0
Mohamed Azher