Fatal error: Allowed memory size of 1610612736 bytes exhausted (tried to allocate 4096 bytes) in phar:///opt/cpanel/composer/bin/composer/src/Composer/DependencyResolver/Solver.php on line 223
Check https://getcomposer.org/doc/articles/troubleshooting.md#memory-limit-errors for more info on how to handle out of memory errors.
エラー発生時
LaravelCollective HTMLをインストールしようと、
composer require laravelcollective/html:^6.0
とコマンドを打ったとき。
原因
割り当てられているメモリ数が必要なメモリ数に足りていない。
クリックするよう指示されているページ(https://getcomposer.org/doc/articles/troubleshooting.md#memory-limit-errors)へ行くと、
php -r "echo ini_get('memory_limit').PHP_EOL;"
とコマンドを打って現在のメモリ数を確認するように指示されるので、従うと、
128M
と出ました。
確かに、必要なメモリ数(1610612736 bytes)に足りていません。
解決法
COMPOSER_MEMORY_LIMIT=-1 composer require XXXX/XXXX
とコマンドを打てば解決します。
XXXX/XXXXにはインストールしたいパッケージを入力してください。
【COMPOSER_MEMORY_LIMIT=-1】でメモリ数を無制限にしています。
ただし、この方法はコマンドを打ったときの一回に限りメモリ数を無制限にしているだけなので、次回なにかのパッケージをインストールするときには適用されていません。
このエラーが出たときには今回紹介した方法で解決できると覚えておけば、すぐに対処できるので問題はないでしょう。
ちなみに、メモリ数を設定しているファイルを書き換える方法もあります。
その方法は下記の記事で解説がされているので、参考にしてください。
この方法では、今後パッケージをインストールするときに今回のエラーが発生することはないです。
以上、『Fatal error: Allowed memory size of 1610612736 bytes exhausted の解決法』でした。