質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
composer

Composerとは、PHP5.3.2以上で使用可能なパッケージ管理ツールです。指定ディレクトリ内だけでパッケージ管理します。

Q&A

1回答

10025閲覧

composer install しようとするとmemoryによるエラーが起きる。

maaaalon

総合スコア15

composer

Composerとは、PHP5.3.2以上で使用可能なパッケージ管理ツールです。指定ディレクトリ内だけでパッケージ管理します。

0グッド

0クリップ

投稿2016/12/10 05:44

編集2016/12/11 02:15
composer install

を実行すると

Fatal error: Allowed memory size of 1073741824 bytes exhausted (tried to allocate 16777216 bytes) in phar:///usr/local/Cellar/composer/1.2.2/libexec/composer.phar/src/Composer/DependencyResolver/Solver.php on line 220

というエラーがでます。
memoryの制限が低すぎるのかと思い
php.iniのlimit memoryを1024に変更しました。

しかし改善されませんでした。

PHPのバージョンは
PHP 5.4.45
です。

改善策をお教えいただきたく存じます。

よろしくお願いいたします。

追記
composer.jsonの中身です。

{ "name": "symfony/framework-standard-edition", "license": "MIT", "type": "project", "description": "The \"Symfony Standard Edition\" distribution", "autoload": { "psr-0": { "": "src/" } }, "require": { "php": ">=5.3.3", "symfony/symfony": "2.3.*", "doctrine/orm": "~2.4", "doctrine/doctrine-bundle": "1.2.*", "doctrine/doctrine-fixtures-bundle": "2.2.*", "twig/extensions": "1.0.*", "symfony/assetic-bundle": "2.3.*", "symfony/swiftmailer-bundle": "2.3.*", "symfony/monolog-bundle": "2.3.*", "sensio/distribution-bundle": "2.3.*", "sensio/framework-extra-bundle": "2.3.*", "sensio/generator-bundle": "2.3.*", "incenteev/composer-parameter-handler": "~2.0", "sonata-project/easy-extends-bundle": "2.1.*", "sonata-project/doctrine-extensions": "1.*", "sonata-project/intl-bundle": "2.2.*", "sonata-project/admin-bundle": "2.3.4", "sonata-project/doctrine-orm-admin-bundle": "2.3.*", "sonata-project/media-bundle": "2.3.*", "sonata-project/user-bundle": "2.2.*", "sonata-project/cache-bundle": "2.1.*", "sonata-project/cache": "1.0.*", "sonata-project/core-bundle": "2.3.*", "sonata-project/formatter-bundle": "2.3.*", "sonata-project/datagrid-bundle": "2.2.*@dev", "sonata-project/exporter": "1.3.*", "simplethings/entity-audit-bundle": "~0.5", "mopa/bootstrap-bundle": "v3.0.0-beta3", "twbs/bootstrap": "v3.0.0", "stof/doctrine-extensions-bundle": "~1.1", "sensio/buzz-bundle": "v1.0.0", "liuggio/excelbundle": "~2.0", "mbence/opentbs-bundle": "dev-master", "knplabs/knp-snappy-bundle": "dev-master", "profburial/wkhtmltopdf-binaries-centos6": "0.12.*", "thrace/form-bundle": "dev-master", "egeloen/ckeditor-bundle": "~2.0", "adesigns/calendar-bundle": "dev-master", "friendsofsymfony/jsrouting-bundle": "~1.5", "ob/highcharts-bundle": "~1.2", "oneup/uploader-bundle": "~1.3", "spe/filesize-extension-bundle": "~0.1.0", "willdurand/faker-bundle": "@stable", "solarium/solarium": "3.4.1", "nelmio/solarium-bundle": "2.*", "fabpot/goutte": "^2.0", "abraham/twitteroauth": "0.5.0", "jmose/command-scheduler-bundle": "^1.0", "beberlei/DoctrineExtensions":"1.0.5", "nzo/url-encryptor-bundle": "~1.0", "happyr/google-api-bundle": "~2.1", "liip/url-auto-converter-bundle": "~1.2.0", "mopa/barcode-bundle": "dev-master", "avalanche123/imagine-bundle": "dev-master", "zendframework/zend-barcode": "~2.3.7", "zendframework/zend-servicemanager": "~2.3.7" }, "scripts": { "post-install-cmd": [ "Incenteev\ParameterHandler\ScriptHandler::buildParameters", "Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::buildBootstrap", "Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::clearCache", "Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::installAssets", "Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::installRequirementsFile" ], "post-update-cmd": [ "Incenteev\ParameterHandler\ScriptHandler::buildParameters", "Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::buildBootstrap", "Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::clearCache", "Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::installAssets", "Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::installRequirementsFile" ] }, "config": { "bin-dir": "bin" }, "minimum-stability": "stable", "extra": { "symfony-app-dir": "app", "symfony-web-dir": "web", "incenteev-parameters": { "file": "app/config/parameters.yml" }, "branch-alias": { "dev-master": "2.3-dev" } }, "require-dev": { "behat/behat": "3.0.14", "behat/symfony2-extension": "2.0.0", "behat/mink": "1.6.0", "behat/mink-extension": "2.0.1", "behat/mink-browserkit-driver": "1.2.0", "behat/mink-selenium2-driver": "~1.2", "behatch/contexts": "*" } }

composer install -vvv
を実行してみたのですが、

Reading /home/vagrant/.composer/cache/repo/https---packagist.org/provider-phpdocumentor$type-resolver.json from cache PHP Fatal error: Allowed memory size of 1073741824 bytes exhausted (tried to allocate 32 bytes) in phar:///usr/local/bin/composer/src/Composer/DependencyResolver/Rule.php on line 60 Fatal error: Allowed memory size of 1073741824 bytes exhausted (tried to allocate 32 bytes) in phar:///usr/local/bin/composer/src/Composer/DependencyResolver/Rule.php on line 60 Check https://getcomposer.org/doc/articles/troubleshooting.md#memory-limit-errors for more info on how to handle out of memory errors.

このエラーで止まってしまいました。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

インストールしようとしているパッケージの依存関係が多いとパッケージのメタ情報のjsonを大量に読み込む必要があり、メモリが上限に達してエラーになる場合があるようです。不要(不適切)なパッケージが含まれていないか設定composer.jsonを見直してみるといいかと思います。
あと、vvvオプションにつけると詳細なログが出力されるので、確認していみるといいかと思います。

composer install -vvv

過去に類似の質問「Composer - パッケージをインストールしている最中に止まる件です。」があったので参考にしてください。

※composer.jsonがあるともう少し適切なコメントができるかもしれません。

(追記)
どうしてもメモリが足りない場合、スワップファイルを追加して上げる方法あるようです。

# /bin/dd if=/dev/zero of=/var/swap.1 bs=1M count=1024 # /sbin/mkswap /var/swap.1 # /sbin/swapon /var/swap.1

参考:EC2のmicro instanceでcomposer updateがコケる場合のメモ

投稿2016/12/10 06:57

編集2016/12/11 06:30
popobot

総合スコア6586

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

maaaalon

2016/12/11 02:18

composer.jsonを見てみたのですが、どれが不要なパッケージか判断が難しい状況となっております。 composer.jsonのソースとcomposer install -vvvでのエラーない内容を掲載いたしました。 もしこちらで解決策が分かればお教えいただきたく存じます。
popobot

2016/12/11 05:18 編集

確かに多いですね...。 全部必要ということなら、メモリを無制限(memory_limit=-1)にしてやってみたらどうでしょうか
popobot

2016/12/11 06:32

メモリを無制限にしてもだめなら、回答欄に追記したスワップファイルを作成する方法を試してみてください。
maaaalon

2016/12/12 12:57

memory_limit = -1に変更したところ memoryによるエラーはでなくなったのですが、強制終了してしまうようになってしまいました。 何度も申し訳ないのですが推測できる原因などありましたらお教えいただければと思います。 以下強制終了のときの文言です。 Loading composer repositories with package information Updating dependencies (including require-dev) 強制終了
popobot

2016/12/12 13:11 編集

OOM KillerというOSの機能(OSレベルでメモリを使い切るとメモリを大量に使っているプロセスを強制終了する機能)によって、強制終了したんだと思います。 回答に追記したスワップファイルを追加する方法で回避できますよ
youplus40

2020/10/27 03:15 編集

OOM Killerはスワップファイルを増やしていても、OS自体のメモリが長時間フルで使用されている場合、エラーとして強制終了します。free -mでメモリの使用状況を確認して、重い動作が動いているのであれば削除してください。 virtualbox+vagrantを使用されているのであれば、下記で仮想メモリを増やすとうまくいくかと思います。 config.vm.provider "virtualbox" do |vb| vb.memory = 8192 ←1024の倍数
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問