フリーランス 技術調査ブログ

フリーランス/エンジニア Ruby Python Nodejs Vuejs React Dockerなどの調査技術調査の備忘録

composer install時にメモリ不足エラーが発生したのでインスタンスタイプの変更して解決した

はじめに

  • composerでインストール時にメモリ不足で落ちる。スワップ領域を追加しても対応できなかったので、EC2インスタンスタイプを変更する
$ composer require laravel/ui
Using version ^3.0 for laravel/ui
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
PHP Fatal error:  Allowed memory size of 1610612736 bytes exhausted (tried to allocate 4096 bytes) in phar:///usr/local/bin/composer/src/Composer/DependencyResolver/RuleWatchGraph.php on line 52

Fatal error: Allowed memory size of 1610612736 bytes exhausted (tried to allocate 4096 bytes) in phar:///usr/local/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.

インスタンスタイプ変更

‐ 「アクション」→「インスタンスの設定」→「インスタンスタイプの変更」を選択する f:id:PX-WING:20201013081314p:plain

  • [t2.micro]から [t2.medium]に変更する f:id:PX-WING:20201013081824p:plain

  • 簡単にインスタンスタイプの変更が完了した f:id:PX-WING:20201013082056p:plain

php.iniの設定

  • PHPのメモリリミットの設定の確認をする。defaultの128mbになっていることを確認する
$ php -r "echo ini_get('memory_limit').PHP_EOL;"
128MB
  • 「-1」にすることでメモリの利用制限を無制限にする
$ sudo vi /etc/php.ini
memory_limit = -1  ; 

composeを再度インストール

  • 依存関係のせいでインストールできなかったので不要なlibraryは削除する
composer remove kris/laravel-form-builder

‐ 無事インストールすることができた

$ composer require laravel/ui
Using version ^3.0 for laravel/ui
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Nothing to install or update
Generating optimized autoload files
> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover --ansi
Discovered Package: encore/laravel-admin
Discovered Package: facade/ignition
Discovered Package: fideloper/proxy
Discovered Package: fruitcake/laravel-cors
Discovered Package: laravel/tinker
Discovered Package: laravel/ui
Discovered Package: nesbot/carbon
Discovered Package: nunomaduro/collision
Package manifest generated successfully.
77 packages you are using are looking for funding.
Use the `composer fund` command to find out more!