Docker内でcomposer require でメモリが足りなくなったとき

ツール

composer require ****/*** をやってみたら

Fatal error: Allowed memory size of 1610612736 bytes exhausted (tried to allocate 4096 bytes) in phar:///usr/bin/composer/src/Composer/DependencyResolver/RuleWatchGraph.php on line 52
Check https://getcomposer.org/doc/articles/troubleshooting.md#memory-limit-errors for more info on how to handle out of memory errors.

こんなメモリー不足エラーでインストールできなかったので、エラーにかかれている https://getcomposer.org/doc/articles/troubleshooting.md#memory-limit-errorsに行って試してみた。

これでメモリーを確認してみろって言うので確認後に、php.iniでmemory_limitを増やしてみたが、同じくインストールできずダメだった。(増やし方が足りなかったのかな・・?)
php -r “echo ini_get(‘memory_limit’).PHP_EOL;”

次に
COMPOSER_MEMORY_LIMIT=-1 composer.phar <…>
をやってみたけど、エラーで実行できず。よくわからなかったので次をチャレンジ

次にこれもやったけどエラーで実行できず。
php -d memory_limit=-1 composer.phar <…>

と、言うわけでこれで動いた

php -d memory_limit=-1 /usr/bin/composer require ****/****

composerはパスを指定したら動いた。
composerのパスはDockerファイルにこのように書いてあったのでそれを使った
#Composer install
COPY –from=composer /usr/bin/composer /usr/bin/composer

コメント

タイトルとURLをコピーしました