【Laravel8】PHP8.0にバージョンアップするとlcobucci/jwtとtymon/jwt-authがcomposer installでエラーになる対処方法

Laravel

スポンサーリンク

PHP7.4からPHP8.0にバージョンアップした後にcomposer installを行うと、jwt関連で以下のようなエラーになった。

# composer install
Installing dependencies from lock file (including require-dev)
Verifying lock file contents can be installed on current platform.
Your lock file does not contain a compatible set of packages. Please run composer update.

  Problem 1
    - lcobucci/jwt is locked to version 3.3.3 and an update of this package was not requested.
    - lcobucci/jwt 3.3.3 requires php ^5.6 || ^7.0 -> your php version (8.0.2) does not satisfy that requirement.       
  Problem 2
    - tymon/jwt-auth is locked to version 1.0.2 and an update of this package was not requested.
    - tymon/jwt-auth 1.0.2 requires php ^5.5.9|^7.0 -> your php version (8.0.2) does not satisfy that requirement. 

原因

詳しくはわからないが、現在のcomposer.lockのlcobucci/jwtとtymon/jwt-authのパッケージのバージョンがPHP8.0に対応していないらしい

解決方法

lcobucci/jwtとtymon/jwt-authのパッケージをアップデートするために以下のコマンドを打つ
※パッケージを指定せずに"composer update"で全パッケージをアップデートしても良い。

composer update tymon/jwt-auth lcobucci/jwt

すると以下のようにアップデートされる。

# composer update tymon/jwt-auth lcobucci/jwt
Loading composer repositories with package information
Updating dependencies
Lock file operations: 0 installs, 2 updates, 0 removals
  - Downgrading lcobucci/jwt (3.3.3 => 3.2.5)
  - Upgrading tymon/jwt-auth (1.0.2 => dev-develop ab00f2d)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 0 installs, 1 update, 0 removals
  - Downloading psr/container (1.0.0)
  - Downgrading psr/container (1.1.1 => 1.0.0): Extracting archive
Generating optimized autoload files
・・・以下省略・・・

そして、改めてcomposer installを行うと成功する。

Laravel

Posted by ton