📌
composer requireで out of memory errors
エラー
メモリが確保できずout of memory errorが発生する
PHP Fatal error: Allowed memory size of 1610612736 bytes exhausted (tried to allocate 4096 bytes) in phar:///Users/hoge/.anyenv/envs/phpenv/versions/7.3.16/composer/composer.phar/src/Composer/DependencyResolver/RuleWatchGraph.php on line 52
Fatal error: Allowed memory size of 1610612736 bytes exhausted (tried to allocate 4096 bytes) in phar:///Users/hoge/.anyenv/envs/phpenv/versions/7.3.16/composer/composer.phar/src/Composer/DependencyResolver/RuleWatchGraph.php on line 52
日本語訳
PHP の致命的なエラー。 許容メモリサイズ 1610612736 バイトを使い果たしました (4096 バイトを割り当てようとしました)
解決方法
使用できるメモリを指定してcomposerを実行する。
COMPOSER_MEMORY_LIMIT変数が定義されていれば、そのメモリ量を上限にして実行してくれる。
$ COMPOSER_MEMORY_LIMIT=-1 composer require --dev barryvdh/laravel-ide-helper
余談
composerはphpで動くので使用できるメモリはmemory_limitに影響される。
しかし、memory_limitが1.5GB未満の時はcomposer内部で1.5GBまでメモリ確保する。
Discussion