13
votes

I recently upgrade Laravel 5.3 to Laravel 5.4. I had read the upgrade guide provided by the laravel, and everything looks good. Until I try to run the Laravel Tinker and it's not working. I already followed the upgrade guide specifically for Laravel Tinker part.

Laravel Tinker

In order to continue using the tinker Artisan command, you should also install the laravel/tinker package:

composer require laravel/tinker

Once the package has been installed, you should add Laravel\Tinker\TinkerServiceProvider::class to the providers array in your config/app.php configuration file.

Source: https://laravel.com/docs/5.4/upgrade

And here is my config/app.php :

'providers' => [

        /*
         * Laravel Framework Service Providers...
         */
        Laravel\Tinker\TinkerServiceProvider::class,

But then, when I ran the command "php artisan tinker", it says this:

 [Symfony\Component\Console\Exception\CommandNotFoundException]
  Command "tinker" is not defined.

Has anybody experienced this before?

Note: other artisan command works perfectly and I can see my site just fine.

2
Check php artisan --version for your exact Laravel version, and your your composer.lock file (or composer show laravel/tinker) for the version of laravel/tinker you've installed. - sisve
I have the same problem , i looked a solution here but still not working for me stackoverflow.com/questions/42635016/… - Paolo Falomo

2 Answers

32
votes

Laravel Tinker

In order to continue using the tinker Artisan command, you should also install the laravel/tinker package:

composer require laravel/tinker

Once the package has been installed, you should add Laravel\Tinker\TinkerServiceProvider::class to the providers array in your config/app.php configuration file.

Source: https://laravel.com/docs/5.4/upgrade

5
votes

Edit your app/Console/Kernel.php, then modify the $commands property with this:

protected $commands = [
    //
    \Laravel\Tinker\Console\TinkerCommand::class,
];

then in console, make a

composer dump-autoload