LoginSignup
16
13

More than 3 years have passed since last update.

Laravel composer ライブラリインストール時のメモリエラー

Posted at

目的

  • Laravelで使うライブラリインストール時にメモリ系のエラーを解決した話をまとめる。

問題までの経緯

  1. 下記コマンドを実行してライブラリをインストールしようとした。

    $ sudo composer require league/flysystem-aws-s3-v3 ~1.0
    

問題

  • 下記のエラーが発生しライブラリをインストールすることができない。

    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.
    

問題解決までの経緯

  1. エラーに「このリンク見て!」って書いてあったから当該リングにアクセスしてみる。
  2. リンク先の指示に従い現在の割り当てられている設定のメモリを出力するコマンドを実行してみる。

    $ php -r "echo ini_get('memory_limit').PHP_EOL;"
    
  3. 「128M」と出力された確かにこれだと足りていない。

  4. php.iniファイルで割当メモリ設定を設定できるらしいので下記コマンドを実行してphp.iniファイルを開く。※php.iniファイルの場所は筆者の環境と異なる可能性があるので下記コマンドをただ実行してもphp.iniファイルを開けないかもしれない。(php.iniファイルの場所はこちらの方法で確認可能である→php.iniファイルの場所をターミナルで確認する

    $ sudo vi /etc/php.ini
    
  5. メモリ割り当て設定を無制限である-1に設定し保存して閉じた。

    /etc/php.ini
    ; 省略
    
    ; Maximum amount of memory a script may consume (128MB)
    ; http://php.net/memory-limit
    memory_limit = -1
    
    ; 省略
    
  6. ライブラリインストールのコマンドを再度実行する。

    $ sudo composer require league/flysystem-aws-s3-v3 ~1.0
    
  7. 問題なくインストールする事ができた。

16
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
13