Laravel6 使用 composer dump-autoload 诡异报错

2021-10-21 18:07:18 +08:00
 DanShu

[问题]

最初使用 composer require doctrine/dbal 发现报了如下错误,后面使用 install 、update 、dump-autoload 都会报这个错误,也没有路径错误提示。

[尝试]

将 vendor 、./bootstrap/cache/*.php 、composer.lock 等文件反复删除后再重新执行还是这个问题,其他项目正常,composer 最新版本。

[疑惑]

通过搜索引擎找到的可能原因是某个文件的语法错误导致的,但是 PHPstorm 并没有相关错误提示,也找了一圈没有发现,报错也没有路径提示,没头绪。

[可能的原因]

这个项目我在最近创建了 packages 目录,在 composer.json 的“autoload-》 psr-4”引入了这个文件下面的扩展包,我在执行最上面的命令时发生报错后把相关的包和路径都删掉了,文件中全局搜索也没有。

[报错图片]

https://imgur.com/n2UN3Zh

[img]https://i.imgur.com/n2UN3Zh.png[/img]

composer.json 如下

{
    "name": "laravel/laravel",
    "type": "project",
    "description": "The Laravel Framework.",
    "keywords": [
        "framework",
        "laravel"
    ],
    "license": "MIT",
    "require": {
        "php": "^7.2.5|^8.0",
        "fideloper/proxy": "^4.4",
        "laravel/framework": "^6.20.26",
        "laravel/tinker": "^2.5"
    },
    "require-dev": {
        "facade/ignition": "^1.16.15",
        "fakerphp/faker": "^1.9.1",
        "mockery/mockery": "^1.0",
        "nunomaduro/collision": "^3.0",
        "phpunit/phpunit": "^8.5.8|^9.3.3"
    },
    "config": {
        "optimize-autoloader": true,
        "preferred-install": "dist",
        "sort-packages": true
    },
    "extra": {
        "laravel": {
            "dont-discover": []
        }
    },
    "autoload": {
        "psr-4": {
            "App\\": "app/"
        },
        "classmap": [
            "database/seeds",
            "database/factories"
        ]
    },
    "autoload-dev": {
        "psr-4": {
            "Tests\\": "tests/"
        }
    },
    "minimum-stability": "dev",
    "prefer-stable": true,
    "scripts": {
        "post-autoload-dump": [
            "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
            "@php artisan package:discover --ansi"
        ],
        "post-root-package-install": [
            "@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
        ],
        "post-create-project-cmd": [
            "@php artisan key:generate --ansi"
        ]
    }
}

782 次点击
所在节点    问与答
1 条回复
DanShu
2021-10-21 23:26:19 +08:00
在 php-fpm 错误日志文件中找到了,我在 GeneratorCommand 的继承类中的析构函数写了$this->getNameInput(),不能再构造和析构函数中写 IO 相关的操作

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/809599

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX