composer install
を実行したら以下のようなエラーがでてくる場合があります。メモリ不足が原因で起こるようです。composer require
やcomposer update
で起こった場合も同じ方法で対処できます。
エラー内容
PHP Fatal error: Allowed memory size of 1610612736 bytes exhausted (tried to allocate 4096 bytes) in phar:///usr/local/bin/composer/src/Composer/DependencyResolver/Solver.php on line 223
Fatal error: Allowed memory size of 1610612736 bytes exhausted (tried to allocate 4096 bytes) in phar:///usr/local/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.
解決策
メモリの制限を解除して実行します。
COMPOSER_MEMORY_LIMIT=-1 composer install
スワップファイルを作成します。
メモリ制限を解除してもメモリが足りない場合は、サーバーのメモリ容量が物理的に足りていない可能性が考えられます。その場合は以下を参考にスワップファイルを作成してから再度コマンドを実行してください。
sudo /bin/dd if=/dev/zero of=/var/swap bs=1M count=1024
sudo /sbin/mkswap /var/swap
sudo /sbin/swapon /var/swap
COMPOSER_MEMORY_LIMIT=-1 composer install