composerとmemory_limit
はじめに
composerによるmemory_limit設定の扱いについて。
memory_limit設定
現行バージョンの1.8.5では以下のようになっています。
- もし現在の
memory_limit
の設定値が1536M未満なら、composerが自分で1536Mに増やします -
COMPOSER_MEMORY_LIMIT
環境変数による指定があればその値で設定します
したがって、メモリ不足のエラーが Allowed memory size of XXX bytes exhausted...
だったときはphpの-d memory_limit=XX
オプションを使ったり、COMPOSER_MEMORY_LIMIT
環境変数によってmemory_limit
の制限を緩めて再実行すると思いますが、1536Mより小さな値では意味がありません。1.5GBでだめならもう次に試すのは制限無しの-1
でいい気がします。
余談: Out of memory
同じメモリ関係のエラーでもOut of memory
のときはOSからメモリをもらえなかったので、PHPの設定は関係ありません。ulimitで制限してないか確認するとかメモリ食ってるプロセスをいったん殺すとかスワップ追加とかそういう対応になります。
おわりに
それにしてもどうしてこんなにcomposerはメモリ食いなんだろう?
Author And Source
この問題について(composerとmemory_limit), 我々は、より多くの情報をここで見つけました https://qiita.com/crhg/items/67b3c270d1b21e424d95著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .