Composer updateでFatal error: Allowed memory size of 1610612736 bytes exhausted (tried to allocate 4096 bytes) in phar:///usr/local/Cellar/composer/1.10.5/bin/composer/src/Composer/DependencyResolver/RuleWatchGraph.php on line 52

Composer updateを実行したら、Fatal errorにぶちあたりました。

Composer updateでFatal error: Allowed memory size of 1610612736 bytes exhausted (tried to allocate 4096 bytes) in phar:///usr/local/Cellar/composer/1.10.5/bin/composer/src/Composer/DependencyResolver/RuleWatchGraph.php on line 52

Fatal errorは見たくないですね。

Google翻訳してみると、1610612736バイトの許容メモリサイズを使い果たしましたとのこと。

php.iniを編集してメモリサイズを増やす

参考サイトによるとphp.iniでメモリのサイズを無制限にすると良いそうなのでやってみます。

参考サイト:composer updateしたときのPHP Fatal error:Allowed memory size of xxx bytes exhausted

php.iniの場所は以前エラーに出くわした時に調べておいたので、以下の方法ですぐに見つかります。

php -i | grep php.ini

macの場合winと場所が違うのでコマンドで調べるのが早いです。

場所がわかったところで、php.iniを編集します。
検索機能でmemory_limitを探して目当ての場所へ移動します。
ちなみに私は399行目にありました。

■ 修正前

; Maximum amount of memory a script may consume (128MB)
; http://php.net/memory-limit
memory_limit = 128M

■ 修正後

; Maximum amount of memory a script may consume (128MB)
; http://php.net/memory-limit
memory_limit = -1

memory_limit = -1で無制限になるそうです。

再度composer updateを実行。

治ってない。

メモリを確認

参考サイトをもとにメモリを確認します。

参考サイト:Composer require runs out of memory. PHP Fatal error: Allowed memory size of 1610612736 bytes exhausted

php -r "echo ini_get('memory_limit').PHP_EOL;"

■ 返答

128M

あれ、変わってないじゃない。

ただのphp.iniの保存し忘れ。もう一度実行

php -r "echo ini_get('memory_limit').PHP_EOL;"

■ 返答

-1

お、無事変わった。

再度composer updateを実行。

無事インストールされました。

laravel, php

Posted by Nakamoto