Php 无法声明类';TestCommandRun';,因为该名称已在使用中

Php 无法声明类';TestCommandRun';,因为该名称已在使用中,php,laravel,laravel-5,Php,Laravel,Laravel 5,我使用的是laravel 5.4 我正在使用php artisan list,但出现以下错误: C:\Users\admin\Desktop\Coding Projects\demo_laravel>php artisan list PHP Fatal error: Cannot declare class TestCommandRun, because the name is already in use in C:\Users\admin\Desktop\Coding Project

我使用的是
laravel 5.4

我正在使用
php artisan list
,但出现以下错误:

C:\Users\admin\Desktop\Coding Projects\demo_laravel>php artisan list
PHP Fatal error:  Cannot declare class TestCommandRun, because the name is already in use in C:\Users\admin\Desktop\Coding Projects\demo_laravel\app\Console\Commands\TestCommandRun.php on line 109
PHP Stack trace:
PHP   1. {main}() C:\Users\admin\Desktop\Coding Projects\demo_laravel\artisan:0
PHP   2. App\Console\Kernel->handle() C:\Users\admin\Desktop\Coding Projects\demo_laravel\artisan:37
PHP   3. App\Console\Kernel->getArtisan() C:\Users\admin\Desktop\Coding Projects\demo_laravel\vendor\laravel\framework\src\Illuminate\Foundation\Console\Kernel.php:121
PHP   4. Illuminate\Console\Application->resolveCommands() C:\Users\admin\Desktop\Coding Projects\demo_laravel\vendor\laravel\framework\src\Illuminate\Foundation\Console\Kernel.php:317
PHP   5. Illuminate\Console\Application->resolve() C:\Users\admin\Desktop\Coding Projects\demo_laravel\vendor\laravel\framework\src\Illuminate\Console\Application.php:242
PHP   6. Illuminate\Foundation\Application->make() C:\Users\admin\Desktop\Coding Projects\demo_laravel\vendor\laravel\framework\src\Illuminate\Console\Application.php:228
PHP   7. Illuminate\Foundation\Application->make() C:\Users\admin\Desktop\Coding Projects\demo_laravel\vendor\laravel\framework\src\Illuminate\Foundation\Application.php:732
PHP   8. Illuminate\Foundation\Application->resolve() C:\Users\admin\Desktop\Coding Projects\demo_laravel\vendor\laravel\framework\src\Illuminate\Container\Container.php:586
PHP   9. Illuminate\Foundation\Application->build() C:\Users\admin\Desktop\Coding Projects\demo_laravel\vendor\laravel\framework\src\Illuminate\Container\Container.php:631
PHP  10. ReflectionClass->__construct() C:\Users\admin\Desktop\Coding Projects\demo_laravel\vendor\laravel\framework\src\Illuminate\Container\Container.php:752
PHP  11. spl_autoload_call() C:\Users\admin\Desktop\Coding Projects\demo_laravel\vendor\laravel\framework\src\Illuminate\Container\Container.php:752
PHP  12. Composer\Autoload\ClassLoader->loadClass() C:\Users\admin\Desktop\Coding Projects\demo_laravel\vendor\laravel\framework\src\Illuminate\Container\Container.php:752
PHP  13. Composer\Autoload\includeFile() C:\Users\admin\Desktop\Coding Projects\demo_laravel\vendor\composer\ClassLoader.php:322

In TestCommandRun.php line 109:

  Cannot declare class TestCommandRun, because the name is already in use
我的命令具有正确的名称:

class TestCommandRun extends Command
{
    /**
     * The name and signature of the console command.
     *
     * @var string
     */
    protected $signature = 'TestCommandRun:run';
在my Kernel.php中,我已将其添加到
$commands
部分:

protected $commands = [
    '\App\Console\Commands\TestCommandRun',        
];

有什么建议可以解释为什么会出现上述错误消息吗?

看起来您有两个具有相同类名的命令
TestCommandRun
。因此,您需要删除一个


另外,在这之后运行
composer du
命令也是一个好主意。

谢谢您的回复!作曲家杜到底做了什么?@mrquad很高兴这有帮助。这是
composer dump autoload
的快捷方式。你可能想看看这个。