Help us understand the problem. What is going on with this article?

Laravel-Excelのインストールにおけるエラーを解消する

なにがあったか

公式の手順通りにインストールしているはずが、いくつかのエラー(主に関連するライブラリ)に見舞われた。

インストール

開発環境が Laravel ver5.5.49 であるため、公式を参考にバージョン3.0を導入(PHPのメモリ制限に引っかかるためリミットをなんとかしている)

$ COMPOSER_MEMORY_LIMIT=-1 composer require maatwebsite/excel:3.0

インストールが

killed

で終わっているのに気づかず次の手順に進んだりするとハマる(自分)。
――で、これはどうもDockerのメモリが足りないらしいので、自分はDocker DesktopのPerformanceからメモリを4GBまで増やした。

エラー

Excelファイルをダウンロードする実装自体は上記の手順でできてしまうが(スミマセン、うろ覚え)、このあとなんらかの事情で composer install を打った際に

  Problem 1
    - phpoffice/phpspreadsheet 1.15.0 requires ext-gd * -> the requested PHP extension gd is missing from your system.
    - phpoffice/phpspreadsheet 1.15.0 requires ext-gd * -> the requested PHP extension gd is missing from your system.
    - Installation request for phpoffice/phpspreadsheet 1.15.0 -> satisfiable by phpoffice/

こういった『関連するライブラリがない』というエラーが次々に出てくる。ゴチャゴチャと関連するライブラリを順番にインストールしていったが、最終的に『Laravelのバージョンが合わん』と言われてしまった。すでにスタートしている開発環境でそれをやるのはわりとめんどくさいので困った。

解決

$ COMPOSER_MEMORY_LIMIT=-1 composer require maatwebsite/excel:3.*

バージョンの指定をやや緩くしたら解決した。
関連するライブラリをインストールしなければいけない点は同じだが、少なくとも「Laravelのバージョンが」と言われることはなくなって解決した(開発環境によっては違うポイントでエラーにハマる可能性はある)。

雑感

3.0 はダメなのに 3.* だとOKなのはなんでだろう🤔
バージョンアップでLaravelのバージョン依存が緩和されたのかな。。

arsagapartners
最高品質を最速で。 業務未経験でも最速最高の成長を!
https://www.arsaga.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away