首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我的作曲家不会用Laravel 4完全更新它会被工匠困住

我的作曲家不会用Laravel 4完全更新它会被工匠困住
EN

Stack Overflow用户
提问于 2013-11-04 18:58:52
回答 5查看 28K关注 0票数 15

下面是我遇到的错误:

代码语言:javascript
复制
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]

如下所示:

代码语言:javascript
复制
Writing lock file
Generating autoload files

我试图删除供应商文件夹中的所有文件夹。但这并没有改变什么。

我正在我的Mac上使用MAMP服务器。

PHP版本5.4.10

mcrypt 2.5.8

我刚试过"sudo composer更新--详细的“,我得到了一个错误:

代码语言:javascript
复制
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

下面是我在PHP错误日志中发现的错误:

代码语言:javascript
复制
[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

我只是试着测试我的作曲家:

代码语言:javascript
复制
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

只是在最后一个命令中的错误消息中应用了推荐。现在一切都很好。

我刚试过这个:

代码语言:javascript
复制
curl -sS https://getcomposer.org/installer | php -- --check
#!/usr/bin/env php
All settings correct for using Composer

现在,我在PHP错误日志中获得了新的错误:

代码语言:javascript
复制
[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
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2014-02-14 02:10:52

我认为这个错误是由于找不到mcrypt造成的。

Script php artisan优化处理错误返回的后更新-cmd事件。

显然,安装mcrypt并不那么容易。

  1. 安装php5-mcrypt包,或验证其安装是否正确。 sudo apt安装php5-mcrypt
  2. 检查mcrypt是否已安装并启用于PHP: php --ri mcrypt
  3. 如果上面写着: 启用mcrypt支持=> 否则,继续如果它说: 分机'mcrypt‘不存在。
  4. 验证mcrypt.ini是否存在于mods-available目录中。 ls /etc/php5 5/mods-现有/mcrypt.ini
  5. 如果是No such file or directory,创建一个从mcrypt.ini到PHP的mods-available目录的符号链接。 sudo ln -s /etc/php5 5/conf.d.d/mcrypt.ini/etc/php5 5/mods-可供查阅
  6. 启动国防部。 sudo php5enmod mcrypt
  7. 重启阿帕奇。 sudo服务apache2重新启动
  8. 再次检查是否启用了mcrypt。 php --ri mcrypt

最后的步骤是受Vuk Stanković的启发。

票数 27
EN

Stack Overflow用户

发布于 2013-11-06 03:47:21

看起来,您的laravel安装没有正确运行,而且由于部分composer.json运行php artisan clear-compiledphp artisan optimize,如果您的laravel应用程序不工作,那么composer将失败。

尝试在不调用Laravel脚本的情况下运行您的编写器更新。

代码语言:javascript
复制
php composer update --no-scripts

之后,您可以手动从composer.json中的脚本块运行命令。否则你只需运行一个标准

代码语言:javascript
复制
php composer update

同样,它将为您运行脚本。

票数 3
EN

Stack Overflow用户

发布于 2013-12-19 08:59:11

要解决这个问题,您需要安装mcrypt

在ubuntu中,执行以下命令:

代码语言:javascript
复制
sudo apt-get install php5-mcrypt

然后更新作曲家:

代码语言:javascript
复制
composer update 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19775012

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档