title: Command "tinker" is not defined
body: <p>After upgrade from 5.3 to 5.4, Follow the instructions:</p>
  
  <blockquote>
    <p>In order to continue using the tinker Artisan command, you should also install the laravel/tinker package:</p>
  </blockquote>
  
  <pre><code>composer require laravel/tinker
  </code></pre>
  
  <blockquote>
    <p>Once the package has been installed, you should add" <code>Laravel\Tinker\TinkerServiceProvider::class</code> to the providers array in your <strong><em>config/app.php</em></strong> configuration file.</p>
  </blockquote>
  
  <p>After hours of search..got this <a href="https://stackoverflow.com/questions/41888059/laravel-tinker-not-working-after-upgrading-from-5-3-to-5-4">question</a> but is not working.</p>
  
  <p>Any ideas?</p>
  
  <p><em>config.json</em></p>
  
  <pre><code>{
  "name": "laravel/laravel",
  "description": "The Laravel Framework.",
  "keywords": ["framework", "laravel"],
  "license": "MIT",
  "type": "project",
  "require": {
      "php": "&gt;=5.6.4",
      "laravel/framework": "5.4.*",
      "hisorange/browser-detect": "2.0.2",
      "guzzlehttp/guzzle": "^6.2",
      "maxmind-db/reader": "~1.0",
      "laravel/tinker": "^1.0"
  },
  "require-dev": {
      "fzaninotto/faker": "~1.4",
      "mockery/mockery": "0.9.*",
      "phpunit/phpunit": "~5.7",
      "symfony/css-selector": "3.1.*",
      "symfony/dom-crawler": "3.1.*"
  },
  "autoload": {
      "classmap": [
          "database"
      ],
      "psr-4": {
          "App\\": "app/"
      }
  },
  "autoload-dev": {
      "classmap": [
          "tests/TestCase.php"
      ]
  },
  "scripts": {
      "post-root-package-install": [
          "php -r \"file_exists('.env') || copy('.env.example', '.env');\""
      ],
      "post-create-project-cmd": [
          "php artisan key:generate"
      ],
      "post-install-cmd": [
          "Illuminate\\Foundation\\ComposerScripts::postInstall",
          "php artisan optimize"
      ],
      "post-update-cmd": [
          "Illuminate\\Foundation\\ComposerScripts::postUpdate",
          "php artisan optimize"
      ]
  },
  "config": {
      "preferred-install": "dist",
      "disable-tls": true,
      "secure-http": false
  }
  </code></pre>
  
  <p>}</p>
  
  <p><em>config/app.php</em></p>
  
  <p>return [</p>
  
  <pre><code>/*
  |--------------------------------------------------------------------------
  | Application Name
  |--------------------------------------------------------------------------
  |
  | This value is the name of your application. This value is used when the
  | framework needs to place the application's name in a notification or
  | any other location as required by the application or its packages.
  */
  
  'name' =&gt; 'App',
  
  /*
  |--------------------------------------------------------------------------
  | Application Environment
  |--------------------------------------------------------------------------
  |
  | This value determines the "environment" your application is currently
  | running in. This may determine how you prefer to configure various
  | services your application utilizes. Set this in your ".env" file.
  |
  */
  
  'env' =&gt; env('APP_ENV', 'development'),
  
  /*
  |--------------------------------------------------------------------------
  | Application Debug Mode
  |--------------------------------------------------------------------------
  |
  | When your application is in debug mode, detailed error messages with
  | stack traces will be shown on every error that occurs within your
  | application. If disabled, a simple generic error page is shown.
  |
  */
  
  'debug' =&gt; env('APP_DEBUG', true),
  
  /*
  |--------------------------------------------------------------------------
  | Application URL
  |--------------------------------------------------------------------------
  |
  | This URL is used by the console to properly generate URLs when using
  | the Artisan command line tool. You should set this to the root of
  | your application so that it is used when running Artisan tasks.
  |
  */
  
  'url' =&gt; env('APP_URL', 'http://localhost'),
  
  /*
  |--------------------------------------------------------------------------
  | Application Timezone
  |--------------------------------------------------------------------------
  |
  | Here you may specify the default timezone for your application, which
  | will be used by the PHP date and date-time functions. We have gone
  | ahead and set this to a sensible default for you out of the box.
  |
  */
  
  'timezone' =&gt; 'America/Tegucigalpa',
  
  /*
  |--------------------------------------------------------------------------
  | Application Locale Configuration
  |--------------------------------------------------------------------------
  |
  | The application locale determines the default locale that will be used
  | by the translation service provider. You are free to set this value
  | to any of the locales which will be supported by the application.
  |
  */
  
  'locale' =&gt; 'en',
  
  /*
  |--------------------------------------------------------------------------
  | Application Fallback Locale
  |--------------------------------------------------------------------------
  |
  | The fallback locale determines the locale to use when the current one
  | is not available. You may change the value to correspond to any of
  | the language folders that are provided through your application.
  |
  */
  
  'fallback_locale' =&gt; 'en',
  
  /*
  |--------------------------------------------------------------------------
  | Encryption Key
  |--------------------------------------------------------------------------
  |
  | This key is used by the Illuminate encrypter service and should be set
  | to a random, 32 character string, otherwise these encrypted strings
  | will not be safe. Please do this before deploying an application!
  |
  */
  
  'key' =&gt; env('APP_KEY'),
  
  'cipher' =&gt; 'AES-256-CBC',
  
  /*
  |--------------------------------------------------------------------------
  | Logging Configuration
  |--------------------------------------------------------------------------
  |
  | Here you may configure the log settings for your application. Out of
  | the box, Laravel uses the Monolog PHP logging library. This gives
  | you a variety of powerful log handlers / formatters to utilize.
  |
  | Available Settings: "single", "daily", "syslog", "errorlog"
  |
  */
  
  'log' =&gt; env('APP_LOG', 'single'),
  
  'log_level' =&gt; env('APP_LOG_LEVEL', 'debug'),
  
  /*
  |--------------------------------------------------------------------------
  | Autoloaded Service Providers
  |--------------------------------------------------------------------------
  |
  | The service providers listed here will be automatically loaded on the
  | request to your application. Feel free to add your own services to
  | this array to grant expanded functionality to your applications.
  |
  */
  
  'providers' =&gt; [
  
      /*
       * Laravel Framework Service Providers...
       */
      Illuminate\Auth\AuthServiceProvider::class,
      Illuminate\Broadcasting\BroadcastServiceProvider::class,
      Illuminate\Bus\BusServiceProvider::class,
      Illuminate\Cache\CacheServiceProvider::class,
      Illuminate\Foundation\Providers\ConsoleSupportServiceProvider::class,
      Illuminate\Cookie\CookieServiceProvider::class,
      Illuminate\Database\DatabaseServiceProvider::class,
      Illuminate\Encryption\EncryptionServiceProvider::class,
      Illuminate\Filesystem\FilesystemServiceProvider::class,
      Illuminate\Foundation\Providers\FoundationServiceProvider::class,
      Illuminate\Hashing\HashServiceProvider::class,
      Illuminate\Mail\MailServiceProvider::class,
      Illuminate\Notifications\NotificationServiceProvider::class,
      Illuminate\Pagination\PaginationServiceProvider::class,
      Illuminate\Pipeline\PipelineServiceProvider::class,
      Illuminate\Queue\QueueServiceProvider::class,
      Illuminate\Redis\RedisServiceProvider::class,
      Illuminate\Auth\Passwords\PasswordResetServiceProvider::class,
      Illuminate\Session\SessionServiceProvider::class,
      Illuminate\Translation\TranslationServiceProvider::class,
      Illuminate\Validation\ValidationServiceProvider::class,
      Illuminate\View\ViewServiceProvider::class,
      \hisorange\BrowserDetect\Provider\BrowserDetectService::class,
      Laravel\Tinker\TinkerServiceProvider::class,
  
      /*
       * Package Service Providers...
       */
  
      //
  
      /*
       * Application Service Providers...
       */
  ],
  
  /*
  |--------------------------------------------------------------------------
  | Class Aliases
  |--------------------------------------------------------------------------
  |
  | This array of class aliases will be registered when this application
  | is started. However, feel free to register as many as you wish as
  | the aliases are "lazy" loaded so they don't hinder performance.
  |
  */
  
  'aliases' =&gt; [
  
      'App' =&gt; Illuminate\Support\Facades\App::class,
      'Artisan' =&gt; Illuminate\Support\Facades\Artisan::class,
      'Auth' =&gt; Illuminate\Support\Facades\Auth::class,
      'Blade' =&gt; Illuminate\Support\Facades\Blade::class,
      'Bus' =&gt; Illuminate\Support\Facades\Bus::class,
      'Cache' =&gt; Illuminate\Support\Facades\Cache::class,
      'Config' =&gt; Illuminate\Support\Facades\Config::class,
      'Cookie' =&gt; Illuminate\Support\Facades\Cookie::class,
      'Crypt' =&gt; Illuminate\Support\Facades\Crypt::class,
      'DB' =&gt; Illuminate\Support\Facades\DB::class,
      'Eloquent' =&gt; Illuminate\Database\Eloquent\Model::class,
      'Event' =&gt; Illuminate\Support\Facades\Event::class,
      'File' =&gt; Illuminate\Support\Facades\File::class,
      'Gate' =&gt; Illuminate\Support\Facades\Gate::class,
      'Hash' =&gt; Illuminate\Support\Facades\Hash::class,
      'Lang' =&gt; Illuminate\Support\Facades\Lang::class,
      'Log' =&gt; Illuminate\Support\Facades\Log::class,
      'Mail' =&gt; Illuminate\Support\Facades\Mail::class,
      'Notification' =&gt; Illuminate\Support\Facades\Notification::class,
      'Password' =&gt; Illuminate\Support\Facades\Password::class,
      'Queue' =&gt; Illuminate\Support\Facades\Queue::class,
      'Redirect' =&gt; Illuminate\Support\Facades\Redirect::class,
      'Redis' =&gt; Illuminate\Support\Facades\Redis::class,
      'Request' =&gt; Illuminate\Support\Facades\Request::class,
      'Response' =&gt; Illuminate\Support\Facades\Response::class,
      'Route' =&gt; Illuminate\Support\Facades\Route::class,
      'Schema' =&gt; Illuminate\Support\Facades\Schema::class,
      'Session' =&gt; Illuminate\Support\Facades\Session::class,
      'Storage' =&gt; Illuminate\Support\Facades\Storage::class,
      'URL' =&gt; Illuminate\Support\Facades\URL::class,
      'Validator' =&gt; Illuminate\Support\Facades\Validator::class,
      'View' =&gt; Illuminate\Support\Facades\View::class,
      'BrowserDetect' =&gt; \hisorange\BrowserDetect\Facade\Parser::class,
  ],
  </code></pre>
  
  <p>];</p>
  
  <p><strong>EDIT</strong>
  Well, Looks like we need to register the command in our <strong>/Console/Kernel.php</strong></p>
  
  <p>Modify the $commands property. With this:</p>
  
  <pre><code>    protected $commands = [
      //
      \Laravel\Tinker\Console\TinkerCommand::class,
  ];
  </code></pre>
  
  <p>After that, make a <code>composer dump-autoload</code></p>