Laravel5.8でJWTインストール時のautoload_real.phpがNo such file or directoryエラー対処法

はじめに

Laravel5.8でjwtをインストールする際に詰まったので対応内容のメモ

これまでの流れ

  • 1 jwtをインストール
  • 2 carbonの依存関係問題でエラーが出るので、composer.jsonを修正する
  • 3 改めてjwtをインストールした結果、「autoload_real.phpがないよ」エラーを食らう
  • 4 composer install叩くも、エラーが出る ← イマここ

1 ~ 3まではこの記事を見れば理解できるはず!

※ Laravelプロジェクトを5.8で作成する方法

$ composer create-project "laravel/laravel=5.8.*" [プロジェクト名]

composer installでエラーが出た原因

インストールできていないjwtをcomposer.jsonに記述したまま、 composer installをしようとしたのでエラーがでた。

単純なことだった・・・

解決

 "require": {
       "nesbot/carbon": "2.19.2 as 1.26.3",
        // "tymon/jwt-auth": "^1.0.0-rc.3" これを削除して、composer update
 },

以下のような感じで、jwtが削除されている

    Loading composer repositories with package information
    Updating dependencies (including require-dev)
    Package operations: 0 installs, 0 updates, 5 removals
      - Removing tymon/jwt-auth (1.0.0-rc.5)
      - Removing symfony/polyfill-util (v1.12.0)
      - Removing symfony/polyfill-php56 (v1.12.0)
      - Removing namshi/jose (7.2.3)
      - Removing lcobucci/jwt (3.3.1)
    Writing lock file
    Generating optimized autoload files
    > Illuminate\Foundation\ComposerScripts::postAutoloadDump
    > @php artisan package:discover --ansi
    :
    Discovered Package: nesbot/carbon
    Package manifest generated successfully.
    composer install
    
    :
    Discovered Package: nesbot/carbon
    Discovered Package: nunomaduro/collision
    Package manifest generated successfully.

正常にinstallできたところで、composer.jsonに以下を追記して、composer updateで完了

    "require": {
        "tymon/jwt-auth": "^1.0.0-rc.3",
    }

初期からプロジェクトを作成する流れ

    ~terminal~
    composer create-project "laravel/laravel=5.8.*" [プロジェクト名]
    ~composer.json~
    // carbonのバージョンを記述
    "require": {
        "nesbot/carbon": "2.19.2 as 1.26.3",
    }
    ~terminal~
    // carbonのバージョン変更
    composer update
    
    // autoload_real.phpの作成
    composer install
    ~composer.json~
    // jwtをcomposer.jsonに記述
    "require": {
        "tymon/jwt-auth": "^1.0.0-rc.3",
    }
    composer update

これで正常にインストールできるはず!

参考

https://qiita.com/kosawa/items/a47424c3bbec7052f8ee

laravelでバージョンを指定してインストール - Qiita

Laravelで…vendor/autoload.php): failed to open stream: No such file or directory というエラーによりデフォルト画面が表示されない解決方法 - Qiita