LaravelのExcel対応の際にLaravel-Excelを導入しようとした時にエラーになった件

Laravelを使っていて、

Excelファイルを取得するために、

他の環境であれば、問題ない導入処理だったが、

別の環境だとエラーがなぜか発生した。

これを調べて対応した時のメモ。

前提:Laravel-Excelを使用

Excelファイルの読み取りに関しては、

Laravel-Excelというのを使っていた。

この「Laravel-Excel」を、

別の環境でも導入しようとしていた。

実際の使用方法は、

以下のGithubなどを参考。

エラー内容

エラーとしては、

導入しようとした時に、

以下のエラーが発生した。

Updating dependencies
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - maatwebsite/excel[3.1.36, ..., 3.1.x-dev] 
    require phpoffice/phpspreadsheet ^1.18 
    -> satisfiable by phpoffice/phpspreadsheet[1.18.0, ..., 1.22.0].
    - maatwebsite/excel[3.1.0, ..., 3.1.25] 
    require php ^7.0 
    -> your php version (8.1.0) does not satisfy that requirement.
    - maatwebsite/excel[3.1.26, ..., 3.1.35] 
    require illuminate/support 5.8.*|^6.0|^7.0|^8.0 
    -> found illuminate/support[v5.8.0, ..., 5.8.x-dev, v6.0.0, ..., 
          6.x-dev, v7.0.0, ..., 7.x-dev, v8.0.0, ..., 8.x-dev] 
          but these were not loaded, 
          likely because it conflicts with another require.
    - phpoffice/phpspreadsheet[1.18.0, ..., 1.22.0] 
       require psr/simple-cache ^1.0 
       -> found psr/simple-cache[1.0.0, 1.0.1] 
          but the package is fixed to 3.0.0 (lock file version) 
          by a partial update and that version does not match.
          Make sure you list it as an argument for the update command.
    - Root composer.json requires maatwebsite/excel ^3.1 
       -> satisfiable by maatwebsite/excel[3.1.0, ..., 3.1.x-dev].

Use the option --with-all-dependencies (-W) to allow upgrades, 
downgrades and removals for packages currently locked to specific versions.
You can also try re-running composer require with an explicit version constraint, 
e.g. "composer require maatwebsite/excel:*" to figure out 
if any version is installable, 
or "composer require maatwebsite/excel:^2.1" 
if you know which you need.

というエラーが発生していた。

エラー調査

各種バージョンの整合性でうまくいっていないようなので、

エラー表示の中の、

Use the option --with-all-dependencies (-W) to allow upgrades, 
downgrades and removals for packages currently locked to specific versions.

を参考にして、

オプションをつけて実行。

composer require maatwebsite/excel --with-all-dependencies

これを実行すると、

$ composer require maatwebsite/excel --with-all-dependencies
Using version ^3.1 for maatwebsite/excel
./composer.json has been updated
 :
Updating dependencies
Lock file operations: 7 installs, 2 updates, 0 removals
 :
  - Locking maatwebsite/excel (3.1.38)
 :
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 7 installs, 2 updates, 0 removals
 :
  - Installing maatwebsite/excel (3.1.38): Extracting archive
 :
Publishing complete.

このようなログを残しながら、

うまくインストールの処理が完了。

スキルを使って、就職/転職/副業する時のサイト

プログラミングのスキルなどを、自分なりに高めた上で、

自分のスキルをアピールして就職や転職を行い、年収をあげるか、

副業という形で、年収にプラスアルファの稼ぎを増やすことはできます。

まずはできる範囲で取り組むことで、

少しずつ、経験値も増え、自分のスキルが収入につながるのでおすすめです。

おすすめ書籍

広告

おすすめ記事