title: Laravel: Trait 'Illuminate\Foundation\Auth\AuthenticatesAndRegistersUsers' not found
body: <p>I'm updating to Laravel 5.4 and am receiving the following error message when trying to display the login screen.</p>
  
  <p>I'm receiving the following error message:</p>
  
  <blockquote>
    <p>Trait 'Illuminate\Foundation\Auth\AuthenticatesAndRegistersUsers' not found</p>
  </blockquote>
  
  <p>Here's is the AuthController class:</p>
  
  <pre><code>&lt;?php
  
  namespace App\Http\Controllers\Auth;
  
  use App\User;
  use Validator;
  use App\Http\Controllers\Controller;
  use Illuminate\Foundation\Auth\ThrottlesLogins;
  use Illuminate\Foundation\Auth\AuthenticatesAndRegistersUsers;
  
  class AuthController extends Controller
  {
      /*
      |--------------------------------------------------------------------------
      | Registration &amp; Login Controller
      |--------------------------------------------------------------------------
      |
      | This controller handles the registration of new users, as well as the
      | authentication of existing users. By default, this controller uses
      | a simple trait to add these behaviors. Why don't you explore it?
      |
      */
  
  use AuthenticatesAndRegistersUsers, ThrottlesLogins;
  
  /**
   * Where to redirect users after login / registration.
   *
   * @var string
   */
  protected $redirectTo = '/home';
  
  /**
   * Where to redirect users after logout.
   *
   * @var string
   */
  protected $redirectAfterLogout = '/login';
  
  /**
   * Create a new authentication controller instance.
   *
   * @return void
   */
  public function __construct()
  {
      $this-&gt;middleware($this-&gt;guestMiddleware(), ['except' =&gt; ['getLogout']]);
  }
  
  /**
   * Get a validator for an incoming registration request.
   *
   * @param  array  $data
   * @return \Illuminate\Contracts\Validation\Validator
   */
  protected function validator(array $data)
  {
      return Validator::make($data, [
          'name' =&gt; 'required|max:255',
          'email' =&gt; 'required|email|max:255|unique:users',
          'password' =&gt; 'required|min:6|confirmed',
      ]);
  }
  
  /**
   * Create a new user instance after a valid registration.
   *
   * @param  array  $data
   * @return User
   */
  protected function create(array $data)
  {
      return User::create([
          'name' =&gt; $data['name'],
          'email' =&gt; $data['email'],
          'password' =&gt; bcrypt($data['password']),
      ]);
  }
  }
  </code></pre>