2017-12-09 1 views
1

laravel 5.4을 사용 중입니다.이름이 이미 사용 중이므로 'TestCommandRun'클래스를 선언 할 수 없습니다.

나는 php artisan list를 사용하고 있지만, 다음과 같은 오류가 발생합니다 : 내가 $commands 섹션에 추가 한 내 Kernel.php 내

class TestCommandRun extends Command 
{ 
    /** 
    * The name and signature of the console command. 
    * 
    * @var string 
    */ 
    protected $signature = 'TestCommandRun:run'; 

:

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 

내 명령이 올바른 이름이

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

위의 오류 메시지가 나타나는 이유는 무엇입니까?

답변

1

같은 클래스 이름을 가진 두 개의 명령이있는 것 같습니다. TestCommandRun. 그래서, 당신은 하나를 삭제해야합니다.

또한 composer du 명령을 실행하는 것이 좋습니다.

+0

답장을 보내 주셔서 감사합니다. '작곡가'는 정확히 무엇을합니까? – mrquad

+1

@mrquad 기꺼이 도와주었습니다. 그것은 'composer dump-autoload'의 바로 가기입니다. 이 기사 [훌륭한 기사] (http://developed.be/2014/08/29/composer-dump-autoload-laravel/)를 읽으십시오. –