Laravel 5.2 RethinkDB Service Provider Preventing Creation of Migration Files
<p>I followed the installation to install this service provider, but each time I try to create a migration file I get this error:</p>

<pre><code>  [ErrorException]
  Argument 2 passed to duxet\Rethinkdb\Console\Migrations\MigrateMakeCommand::__construct() must be an instance
   of Illuminate\Foundation\Composer, instance of Illuminate\Support\Composer given, called in D:\projects\app\vendor\duxet\laravel-rethinkdb\src\RethinkdbServiceProvider.php on line 41 and defined
</code></pre>

<p>I'm on line 41 and can see that the second parameter is <code>$composer</code>, which equals <code>$composer = $app['composer'];</code>.  I thought maybe changing <code>Illuminate\Support\Composer</code> to <code>Illuminate\Foundation\ServiceProvider</code> might just fix the issue, but doing this throws another error saying that:</p>

<pre><code>[Symfony\Component\Debug\Exception\FatalErrorException]
Class 'Illuminate\Foundation\ServiceProvider' not found
</code></pre>

<p>Anyone running into this issue?</p>

<p><strong>Update</strong></p>

<p>Where the original error is occurring (I marked Line 41):</p>

<pre><code>&lt;?php

namespace duxet\Rethinkdb;

use duxet\Rethinkdb\Console\Migrations\MigrateMakeCommand;
use duxet\Rethinkdb\Eloquent\Model;
use duxet\Rethinkdb\Migrations\MigrationCreator;
use Illuminate\Support\ServiceProvider;

class RethinkdbServiceProvider extends ServiceProvider
{
    /**
     * Bootstrap the application events.
     *
     * @return void
     */
    public function boot()
    {
        Model::setConnectionResolver($this-&gt;app['db']);
        Model::setEventDispatcher($this-&gt;app['events']);
    }

    /**
     * Register the service provider.
     *
     * @return void
     */
    public function register()
    {
        $this-&gt;app-&gt;resolving('db', function ($db) {
            $db-&gt;extend('rethinkdb', function ($config) {
                return new Connection($config);
            });
        });

        $this-&gt;app-&gt;singleton('command.rethink-migrate.make', function ($app) {

            $creator = new MigrationCreator($app['files']);
            $composer = $app['composer'];

            return new MigrateMakeCommand($creator, $composer); &lt;= line 41
        });

        $this-&gt;commands('command.rethink-migrate.make');
    }

    public function provides()
    {
        return ['command.rethink-migrate.make'];
    }
}
</code></pre>

<p>The MigrateMakeCommand class:</p>

<pre><code>&lt;?php

namespace duxet\Rethinkdb\Console\Migrations;

use duxet\Rethinkdb\Migrations\MigrationCreator;
use Illuminate\Database\Console\Migrations\MigrateMakeCommand as LaravelMigration;
use Illuminate\Foundation\Composer;

class MigrateMakeCommand extends LaravelMigration
{
    /**
     * The console command signature.
     *
     * @var string
     */
    protected $signature = 'make:rethink-migration {name : The name of the migration.}
        {--create= : The table to be created.}
        {--table= : The table to migrate.}
        {--path= : The location where the migration file should be created.}';

    /**
     * Create a new migration install command instance.
     *
     * @param duxet\Rethinkdb\Migrations\MigrationCreator $creator
     * @param \Illuminate\Foundation\Composer             $composer
     *
     * @return void
     */
    public function __construct(MigrationCreator $creator, Composer $composer)
    {
        parent::__construct($creator, $composer);
    }
}
</code></pre>