jnb*_*bdz 15 php laravel composer-php laravel-4
这是我得到的错误:
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]
Run Code Online (Sandbox Code Playgroud)
这显示在:
Writing lock file
Generating autoload files
Run Code Online (Sandbox Code Playgroud)
我试图删除我的供应商文件夹中的所有文件夹.但这并没有改变任何事情.
我在Mac OS X上使用MAMP服务器.
PHP版本5.4.10
mcrypt 2.5.8
我刚试过"sudo composer update --verbose",我收到了这个错误:
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
Run Code Online (Sandbox Code Playgroud)
这是我在PHP错误日志中发现的错误:
[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
Run Code Online (Sandbox Code Playgroud)
我只是试着测试我的作曲家:
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
Run Code Online (Sandbox Code Playgroud)
刚才在最后一个命令的错误消息中应用了建议.现在一切都显示为OK.
我刚试过这个:
curl -sS https://getcomposer.org/installer | php -- --check
#!/usr/bin/env php
All settings correct for using Composer
Run Code Online (Sandbox Code Playgroud)
我现在在PHP错误日志中遇到新错误:
[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
Run Code Online (Sandbox Code Playgroud)
Dan*_*ker 27
我相信这个错误是因为无法找到mcrypt
.
脚本php artisan优化处理带有错误返回的post-update-cmd事件
显然它安装起来并不那么容易mcrypt
.
安装php5-mcrypt
软件包,或验证它是否已正确安装.
sudo apt-get install php5-mcrypt
Run Code Online (Sandbox Code Playgroud)检查是否mcrypt
已安装并启用PHP:
php --ri mcrypt
Run Code Online (Sandbox Code Playgroud)如果它说:
mcrypt support => enabled
Run Code Online (Sandbox Code Playgroud)
否则,如果它说:
Extension 'mcrypt' not present.
Run Code Online (Sandbox Code Playgroud)验证mcrypt.ini
PHP mods-available
目录中是否存在.
ls /etc/php5/mods-available/mcrypt.ini
Run Code Online (Sandbox Code Playgroud)如果它说No such file or directory
,创建从mcrypt.ini
PHP mods-available
目录的符号链接.
sudo ln -s /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available
Run Code Online (Sandbox Code Playgroud)启用mod.
sudo php5enmod mcrypt
Run Code Online (Sandbox Code Playgroud)重启apache.
sudo service apache2 restart
Run Code Online (Sandbox Code Playgroud)再次检查是否mcrypt
已启用.
php --ri mcrypt
Run Code Online (Sandbox Code Playgroud)最后的步骤受到了VukStanković的启发.
好的,与Google进行了一些进一步的研究,似乎这与Composer的自动加载缓存有关.有多种方法可以解决这个问题.
composer dump-autoload
Run Code Online (Sandbox Code Playgroud)
这将为您重新创建自动加载的东西,它现在应该解决您的问题.
如果这没有帮助,请尝试删除所有内容并重新安装新的:[参考]
rm -rf /path/to/composer.lock /path/to/vendor/
composer install
Run Code Online (Sandbox Code Playgroud)
这将重新创造几乎所有东西.