升级到Laravel 4.1错误

时间:2013-12-03 15:11:41

标签: laravel laravel-4 composer-php

我相信我已准备好4.1的所有依赖项,但在使用composer update时出现以下错误:

生成自动加载文件

脚本php artisan clear-compiled处理返回的post-update-cmd事件,错误:

脚本php artisan优化处理返回的post-update-cmd事件,错误:

我的作曲家文件如下:

{

"require": {

    "laravel/framework": "4.1.*",
    "jasonlewis/basset": "dev-master",
    "twbs/bootstrap": "dev-master",
            "frozennode/administrator": "dev-master",
            "bllim/datatables": "*",
            "scubaclick/mandrill": "dev-develop"
},
"require-dev": {
    "codeception/codeception": "1.8.*",
    "way/generators": "dev-master"
},
"autoload": {
    "classmap": [
        "app/commands",
        "app/controllers",
        "app/database/migrations",
        "app/database/seeds",
        "app/tests/TestCase.php",
        "app/Acme/Apis/v1"
    ],
    "psr-0": {
        "Acme" : "app/"
    }
},
"scripts": {
    "post-install-cmd": [
        "php artisan optimize"
    ],
    "post-update-cmd": [
        "php artisan clear-compiled",
        "php artisan optimize"
    ],
    "post-create-project-cmd": [
        "php artisan key:generate"
    ]
},
"config": {
    "preferred-install": "dist"
},
"minimum-stability": "dev"

}

3 个答案:

答案 0 :(得分:1)

如果您没有正确路由到作曲家目录 autoload_classmap.php 文件中的任何类文件,您将会遇到此类错误仍在使用该文件。

这可以通过在使用新文件之前执行 php artisan dump-autoload 文件来解决。

如果您已经在使用该文件,请注释该部分,运行php artisan dump-autoload,然后取消注释之前评论过的那些行。

答案 1 :(得分:1)

您需要执行composer update --no-scripts来更新所有作曲家文件,而无需运行artisan命令;原因是,直到作曲家完成工匠才会被升级打破,默认的composer.json文件将命令php artisan clear-compiled设置为在更新供应商文件夹之前运行。

如果所有其他方法都失败,请删除您的供应商目录和composer.lock文件,然后运行composer install

答案 2 :(得分:0)

当升级过程要求我将该帖子编译出来时,运行它,然后再做一次。我终于让它工作了,但它并不顺利。