【问题标题】:Laravel5.5 after use php artisan app:name Class not foundLaravel5.5 使用 php artisan app:name Class not found 后
【发布时间】:2018-05-31 16:57:43
【问题描述】:

我是 Laravel 的新开发者,现在我使用的是 Laravel 5.5 版

在我的项目中使用 php artisan app:name 后遇到了问题,我遇到了问题:

在 ProviderRepository.php 第 208 行:类 'App\Providers\AppServiceProvider' 未找到

如下图所示:

由于这个错误,我不能再使用 php artisan 命令或 composer 命令了,你们能帮我解决这个问题吗?我真的很感激时间。谢谢你

最好的问候 Siripong Gaewmaneechot

【问题讨论】:

  • 如果你打开了它,你可能在名字空间中添加了一些东西,在

标签: laravel laravel-5 composer-php laravel-5.5 laravel-artisan


【解决方案1】:

我建议查看您的配置文件,以及在您启动 laravel 项目时生成的主要类(用户类等),因为它们都设置为 App\User App..... 等。

因此,例如,在您在问题中的图像中,它说它找不到 App\AppProviders... - 这表明您在某个地方仍然有一个 use 语句指向 App\AppProviders.. 但您更改了应用名称,因此不再是 App。 如果我犯了这个错误,我会在我的项目文件中对 App\ 进行全局搜索(您可能需要将 App\\ 放在搜索中,因为 \ 是转义字符

因此,如果您在启动项目后没有立即更改应用名称,则某些路径将不会指向正确的目录。让我知道这是否有意义。

【讨论】:

  • 嗨,Jake Boomgaarden,实际上这个项目已经开始了一个多月,我刚刚更改了应用程序名称,这导致了我上面提到的问题。
  • 对,所以当您运行 laravel 命令更改应用程序名称时,它不会使用新的应用程序名称更新您拥有的每个文件。它只会更新特定的默认文件。因此,您现在需要手动浏览您的应用程序,并找到所有具有以 App\ 开头的“命名空间”或“使用”语句的地方,并将其更改为您的新项目名称。我相信这会解决你的问题。哦,可能还有类似 config/app.php
  • 嗨,杰克,我刚刚按照您在我的文件夹中的建议进行了全局搜索 'App\',但我仍然遇到同样的事情 T^T*。
【解决方案2】:

该命令更改 composer.json 中的 PSR-4 配置。

假设之前是App,您的composer.json 看起来像这样:

"autoload": {
    "psr-4": {
        "App\\": "app/"
    }
},

使用php artisan app:name Foo 运行命令后,它将如下所示:

"autoload": {
    "psr-4": {
        "Foo\\": "app/"
    }
},

因此整个命名空间已更改,自动加载器无法找到您的类。要解决此问题,您必须返回旧名称或进行全局搜索和替换以将命名空间从 App 更改为 Foo

【讨论】:

    猜你喜欢
    • 2017-05-16
    • 2017-08-04
    • 1970-01-01
    • 1970-01-01
    • 2020-09-05
    • 1970-01-01
    • 2011-11-06
    • 2018-08-22
    • 1970-01-01
    相关资源
    最近更新 更多