PR

【簡単】composer updateでエラーが発生した場合の対処法

composer

composer updateを実行するとメモリ不足で下記のようなエラーが発生してしまう場合があります。

composer update
Loading composer repositories with package information
Warning from https://repo.packagist.org: You are using an outdated version of Composer. Composer 2.0 is now available and you should upgrade. See https://getcomposer.org/2
Updating dependencies (including require-dev)

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

解決方法

下記のように一時的にメモリ制限を無制限にし、実行することで解決します。

COMPOSER_MEMORY_LIMIT=-1 $(which composer) update

実行結果(更新あり)

更新していないとこんなに大量の更新がありました。

COMPOSER_MEMORY_LIMIT=-1 $(which composer) update
Loading composer repositories with package information
Warning from https://repo.packagist.org: You are using an outdated version of Composer. Composer 2.0 is now available and you should upgrade. See https://getcomposer.org/2
Updating dependencies (including require-dev)
Package operations: 109 installs, 0 updates, 0 removals
  - Installing symfony/polyfill-ctype (v1.20.0): Downloading (100%)
  - Installing phpoption/phpoption (1.7.5): Downloading (100%)
  - Installing vlucas/phpdotenv (v3.6.7): Downloading (100%)
  - Installing symfony/css-selector (v5.2.1): Downloading (100%)
  - Installing tijsverkoyen/css-to-inline-styles (2.2.3): Downloading (100%)
  - Installing symfony/polyfill-php80 (v1.20.0): Downloading (100%)
  - Installing symfony/polyfill-php72 (v1.20.0): Downloading (100%)
  - Installing symfony/polyfill-mbstring (v1.20.0): Downloading (100%)
  - Installing symfony/var-dumper (v4.4.18): Downloading (100%)
  - Installing symfony/routing (v4.4.18): Downloading (100%)
  - Installing symfony/process (v4.4.18): Downloading (100%)
  - Installing psr/log (1.1.3): Downloading (100%)
  - Installing symfony/polyfill-php73 (v1.20.0): Downloading (100%)
  - Installing symfony/deprecation-contracts (v2.2.0): Downloading (100%)
  - Installing symfony/polyfill-intl-normalizer (v1.20.0): Downloading (100%)
  - Installing symfony/polyfill-intl-idn (v1.20.0): Downloading (100%)
  - Installing paragonie/random_compat (v9.99.99): Downloading (100%)
  - Installing symfony/mime (v5.2.1): Downloading (100%)
  - Installing phpdocumentor/reflection-common (2.2.0): Downloading (100%)
  - Installing webmozart/assert (1.9.1): Downloading (100%)
  - Installing phpdocumentor/type-resolver (1.4.0): Downloading (100%)
  - Installing phpdocumentor/reflection-docblock (5.2.2): Downloading (100%)
  - Installing symfony/http-foundation (v4.4.18): Downloading (100%)
  - Installing symfony/event-dispatcher-contracts (v1.1.9): Downloading (100%)
  - Installing psr/container (1.0.0): Downloading (100%)
  - Installing symfony/event-dispatcher (v4.4.18): Downloading (100%)
  - Installing symfony/debug (v4.4.18): Downloading (100%)
  - Installing symfony/error-handler (v4.4.18): Downloading (100%)
  - Installing symfony/http-client-contracts (v2.3.1): Downloading (100%)
  - Installing symfony/http-kernel (v4.4.18): Downloading (100%)
  - Installing symfony/finder (v4.4.18): Downloading (100%)
  - Installing symfony/service-contracts (v2.2.0): Downloading (100%)
  - Installing symfony/console (v4.4.18): Downloading (100%)
  - Installing symfony/polyfill-iconv (v1.20.0): Downloading (100%)
  - Installing doctrine/lexer (1.2.1): Downloading (100%)
  - Installing egulias/email-validator (2.1.25): Downloading (100%)
  - Installing swiftmailer/swiftmailer (v6.2.4): Downloading (100%)
  - Installing ramsey/uuid (3.9.3): Downloading (100%)
  - Installing psr/simple-cache (1.0.1): Downloading (100%)
  - Installing opis/closure (3.6.1): Downloading (100%)
  - Installing symfony/translation-contracts (v2.3.0): Downloading (100%)
  - Installing symfony/translation (v4.4.18): Downloading (100%)
  - Installing nesbot/carbon (2.43.0): Downloading (100%)
  - Installing monolog/monolog (1.26.0): Downloading (100%)
  - Installing league/mime-type-detection (1.5.1): Downloading (100%)
  - Installing league/flysystem (1.1.3): Downloading (100%)
  - Installing erusev/parsedown (1.7.4): Downloading (100%)
  - Installing dragonmantank/cron-expression (v2.3.1): Downloading (100%)
  - Installing doctrine/inflector (1.4.3): Downloading (100%)
  - Installing laravel/framework (v5.8.21): Downloading (100%)
  - Installing laravelcollective/html (v5.8.0): Downloading (100%)
  - Installing mtdowling/jmespath.php (2.6.0): Downloading (100%)
  - Installing guzzlehttp/promises (1.4.0): Downloading (100%)
  - Installing ralouphie/getallheaders (3.0.3): Loading from cache
  - Installing psr/http-message (1.0.1): Loading from cache
  - Installing guzzlehttp/psr7 (1.7.0): Downloading (100%)
  - Installing guzzlehttp/guzzle (6.5.5): Downloading (100%)
  - Installing aws/aws-sdk-php (3.171.12): Downloading (100%)
  - Installing aws/aws-sdk-php-laravel (3.6.0): Downloading (100%)
  - Installing fideloper/proxy (4.4.1): Downloading (100%)
  - Installing jmikola/geojson (1.0.2): Downloading (100%)
  - Installing geo-io/interface (v1.0.1): Downloading (100%)
  - Installing geo-io/wkb-parser (v1.0.1): Downloading (100%)
  - Installing grimzy/laravel-mysql-spatial (2.2.3): Downloading (100%)
  - Installing intervention/image (2.5.1): Loading from cache
  - Installing intervention/imagecache (2.5.1): Downloading (100%)
  - Installing jakub-onderka/php-console-color (v0.2): Downloading (100%)
  - Installing jakub-onderka/php-console-highlighter (v0.4): Downloading (100%)
  - Installing nikic/php-parser (v4.10.4): Downloading (100%)
  - Installing dnoegel/php-xdg-base-dir (v0.1.1): Downloading (100%)
  - Installing psy/psysh (v0.9.12): Downloading (100%)
  - Installing laravel/tinker (v1.0.10): Downloading (100%)
  - Installing phpseclib/phpseclib (2.0.30): Downloading (100%)
  - Installing phpseclib/bcmath_compat (1.0.6): Downloading (100%)
  - Installing moontoast/math (1.2.1): Downloading (100%)
  - Installing beyondcode/laravel-dump-server (1.3.0): Downloading (100%)
  - Installing fzaninotto/faker (v1.9.2): Downloading (100%)
  - Installing hamcrest/hamcrest-php (v2.0.1): Downloading (100%)
  - Installing mockery/mockery (1.3.3): Downloading (100%)
  - Installing filp/whoops (2.9.1): Downloading (100%)
  - Installing nunomaduro/collision (v3.1.0): Downloading (100%)
  - Installing sebastian/version (2.0.1): Downloading (100%)
  - Installing sebastian/resource-operations (2.0.2): Downloading (100%)
  - Installing sebastian/recursion-context (3.0.1): Downloading (100%)
  - Installing sebastian/object-reflector (1.1.2): Downloading (100%)
  - Installing sebastian/object-enumerator (3.0.4): Downloading (100%)
  - Installing sebastian/global-state (2.0.0): Downloading (100%)
  - Installing sebastian/exporter (3.1.3): Downloading (100%)
  - Installing sebastian/environment (4.2.4): Downloading (100%)
  - Installing sebastian/diff (3.0.3): Downloading (100%)
  - Installing sebastian/comparator (3.0.3): Downloading (100%)
  - Installing phpunit/php-timer (2.1.3): Downloading (100%)
  - Installing phpunit/php-text-template (1.2.1): Downloading (100%)
  - Installing phpunit/php-file-iterator (2.0.3): Downloading (100%)
  - Installing theseer/tokenizer (1.2.0): Downloading (100%)
  - Installing sebastian/code-unit-reverse-lookup (1.0.2): Downloading (100%)
  - Installing phpunit/php-token-stream (3.1.2): Downloading (100%)
  - Installing phpunit/php-code-coverage (6.1.4): Downloading (100%)
  - Installing doctrine/instantiator (1.4.0): Downloading (100%)
  - Installing phpspec/prophecy (1.12.2): Downloading (100%)
  - Installing phar-io/version (2.0.1): Downloading (100%)
  - Installing phar-io/manifest (1.0.3): Downloading (100%)
  - Installing myclabs/deep-copy (1.10.2): Downloading (100%)
  - Installing phpunit/phpunit (7.5.20): Downloading (100%)
  - Installing doctrine/event-manager (1.1.1): Downloading (100%)
  - Installing doctrine/cache (1.10.2): Downloading (100%)
  - Installing doctrine/dbal (2.12.1): Downloading (100%)
  - Installing xethron/laravel-4-generators (3.1.1): Downloading (100%)
  - Installing xethron/migrations-generator (v2.0.2): Downloading (100%)
symfony/var-dumper suggests installing ext-intl (To show region name in time zone dump)
symfony/routing suggests installing symfony/config (For using the all-in-one router or any loader)
symfony/routing suggests installing symfony/yaml (For using the YAML loader)
symfony/routing suggests installing symfony/expression-language (For using expression matching)
symfony/routing suggests installing doctrine/annotations (For using the annotation loader)
symfony/polyfill-intl-normalizer suggests installing ext-intl (For best performance)
symfony/polyfill-intl-idn suggests installing ext-intl (For best performance)
paragonie/random_compat suggests installing ext-libsodium (Provides a modern crypto API that can be used to generate random bytes.)
symfony/event-dispatcher-contracts suggests installing psr/event-dispatcher
symfony/event-dispatcher suggests installing symfony/dependency-injection
symfony/http-client-contracts suggests installing symfony/http-client-implementation
symfony/http-kernel suggests installing symfony/browser-kit
symfony/http-kernel suggests installing symfony/config
symfony/http-kernel suggests installing symfony/dependency-injection
symfony/service-contracts suggests installing symfony/service-implementation
symfony/console suggests installing symfony/lock
egulias/email-validator suggests installing ext-intl (PHP Internationalization Libraries are required to use the SpoofChecking validation)
swiftmailer/swiftmailer suggests installing ext-intl (Needed to support internationalized email addresses)
ramsey/uuid suggests installing ext-libsodium (Provides the PECL libsodium extension for use with the SodiumRandomGenerator)
ramsey/uuid suggests installing ext-uuid (Provides the PECL UUID extension for use with the PeclUuidTimeGenerator and PeclUuidRandomGenerator)
ramsey/uuid suggests installing ramsey/uuid-console (A console application for generating UUIDs with ramsey/uuid)
ramsey/uuid suggests installing ramsey/uuid-doctrine (Allows the use of Ramsey\Uuid\Uuid as Doctrine field type.)
ramsey/uuid suggests installing paragonie/random-lib (Provides RandomLib for use with the RandomLibAdapter)
symfony/translation suggests installing symfony/config
symfony/translation suggests installing symfony/yaml
monolog/monolog suggests installing graylog2/gelf-php (Allow sending log messages to a GrayLog2 server)
monolog/monolog suggests installing sentry/sentry (Allow sending log messages to a Sentry server)
monolog/monolog suggests installing doctrine/couchdb (Allow sending log messages to a CouchDB server)
monolog/monolog suggests installing ruflin/elastica (Allow sending log messages to an Elastic Search server)
monolog/monolog suggests installing php-amqplib/php-amqplib (Allow sending log messages to an AMQP server using php-amqplib)
monolog/monolog suggests installing ext-amqp (Allow sending log messages to an AMQP server (1.0+ required))
monolog/monolog suggests installing ext-mongo (Allow sending log messages to a MongoDB server)
monolog/monolog suggests installing mongodb/mongodb (Allow sending log messages to a MongoDB server via PHP Driver)
monolog/monolog suggests installing rollbar/rollbar (Allow sending log messages to Rollbar)
monolog/monolog suggests installing php-console/php-console (Allow sending log messages to Google Chrome)
league/flysystem suggests installing league/flysystem-eventable-filesystem (Allows you to use EventableFilesystem)
league/flysystem suggests installing league/flysystem-rackspace (Allows you to use Rackspace Cloud Files)
league/flysystem suggests installing league/flysystem-azure (Allows you to use Windows Azure Blob storage)
league/flysystem suggests installing league/flysystem-webdav (Allows you to use WebDAV storage)
league/flysystem suggests installing league/flysystem-aws-s3-v2 (Allows you to use S3 storage with AWS SDK v2)
league/flysystem suggests installing league/flysystem-aws-s3-v3 (Allows you to use S3 storage with AWS SDK v3)
league/flysystem suggests installing spatie/flysystem-dropbox (Allows you to use Dropbox storage)
league/flysystem suggests installing srmklive/flysystem-dropbox-v2 (Allows you to use Dropbox storage for PHP 5 applications)
league/flysystem suggests installing league/flysystem-cached-adapter (Flysystem adapter decorator for metadata caching)
league/flysystem suggests installing league/flysystem-sftp (Allows you to use SFTP server storage via phpseclib)
league/flysystem suggests installing league/flysystem-ziparchive (Allows you to use ZipArchive adapter)
laravel/framework suggests installing ext-pcntl (Required to use all features of the queue worker.)
laravel/framework suggests installing league/flysystem-aws-s3-v3 (Required to use the Flysystem S3 driver (^1.0).)
laravel/framework suggests installing league/flysystem-cached-adapter (Required to use the Flysystem cache (^1.0).)
laravel/framework suggests installing league/flysystem-rackspace (Required to use the Flysystem Rackspace driver (^1.0).)
laravel/framework suggests installing league/flysystem-sftp (Required to use the Flysystem SFTP driver (^1.0).)
laravel/framework suggests installing nexmo/client (Required to use the Nexmo transport (^1.0).)
laravel/framework suggests installing pda/pheanstalk (Required to use the beanstalk queue driver (^4.0).)
laravel/framework suggests installing predis/predis (Required to use the redis cache and queue drivers (^1.0).)
laravel/framework suggests installing pusher/pusher-php-server (Required to use the Pusher broadcast driver (^3.0).)
laravel/framework suggests installing symfony/dom-crawler (Required to use most of the crawler integration testing tools (^4.2).)
laravel/framework suggests installing symfony/psr-http-message-bridge (Required to use PSR-7 bridging features (^1.1).)
laravel/framework suggests installing wildbit/swiftmailer-postmark (Required to use Postmark mail driver (^3.0).)
guzzlehttp/psr7 suggests installing laminas/laminas-httphandlerrunner (Emit PSR-7 responses)
aws/aws-sdk-php suggests installing aws/aws-php-sns-message-validator (To validate incoming SNS notifications)
aws/aws-sdk-php-laravel suggests installing laravel/lumen-framework (To test the Lumen bindings)
intervention/image suggests installing ext-imagick (to use Imagick based image processing.)
psy/psysh suggests installing ext-pcntl (Enabling the PCNTL extension makes PsySH a lot happier :))
psy/psysh suggests installing ext-pdo-sqlite (The doc command requires SQLite to work.)
psy/psysh suggests installing hoa/console (A pure PHP readline implementation. You'll want this if your PHP install doesn't already support readline or libedit.)
phpseclib/phpseclib suggests installing ext-libsodium (SSH2/SFTP can make use of some algorithms provided by the libsodium-php extension.)
phpseclib/phpseclib suggests installing ext-mcrypt (Install the Mcrypt extension in order to speed up a few other cryptographic operations.)
phpseclib/phpseclib suggests installing ext-gmp (Install the GMP (GNU Multiple Precision) extension in order to speed up arbitrary precision integer arithmetic operations.)
phpseclib/bcmath_compat suggests installing ext-gmp (Will enable faster math operations)
filp/whoops suggests installing whoops/soap (Formats errors as SOAP responses)
sebastian/global-state suggests installing ext-uopz (*)
phpunit/php-code-coverage suggests installing ext-xdebug (^2.6.0)
phpunit/phpunit suggests installing phpunit/php-invoker (^2.0)
phpunit/phpunit suggests installing ext-xdebug (*)
doctrine/cache suggests installing alcaeus/mongo-php-adapter (Required to use legacy MongoDB driver)
Package jakub-onderka/php-console-color is abandoned, you should avoid using it. Use php-parallel-lint/php-console-color instead.
Package jakub-onderka/php-console-highlighter is abandoned, you should avoid using it. Use php-parallel-lint/php-console-highlighter instead.
Package moontoast/math is abandoned, you should avoid using it. Use brick/math instead.
Package fzaninotto/faker is abandoned, you should avoid using it. No replacement was suggested.
Package phpunit/php-token-stream is abandoned, you should avoid using it. No replacement was suggested.
Writing lock file
Generating optimized autoload files
Deprecation Notice: Class Way\Generators\Templates\Data\Controller located in ./vendor/xethron/laravel-4-generators/src/Way/Generators/templates/Data/Controller.php does not comply with psr-0 autoloading standard. It will not autoload anymore in Composer v2.0. in phar:///usr/local/Cellar/composer/1.10.1/bin/composer/src/Composer/Autoload/ClassMapGenerator.php:201
Deprecation Notice: Class Way\Generators\Templates\Data\Migration located in ./vendor/xethron/laravel-4-generators/src/Way/Generators/templates/Data/Migration.php does not comply with psr-0 autoloading standard. It will not autoload anymore in Composer v2.0. in phar:///usr/local/Cellar/composer/1.10.1/bin/composer/src/Composer/Autoload/ClassMapGenerator.php:201
> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover --ansi
Discovered Package: aws/aws-sdk-php-laravel
Discovered Package: beyondcode/laravel-dump-server
Discovered Package: fideloper/proxy
Discovered Package: grimzy/laravel-mysql-spatial
Discovered Package: intervention/image
Discovered Package: laravel/tinker
Discovered Package: laravelcollective/html
Discovered Package: nesbot/carbon
Discovered Package: nunomaduro/collision
Discovered Package: xethron/migrations-generator
Package manifest generated successfully.
58 packages you are using are looking for funding.
Use the `composer fund` command to find out more!

実行結果(更新なし)

最新の状態では「Nothing to install or update」がログに出力されていますね。

COMPOSER_MEMORY_LIMIT=-1 $(which composer) update
Loading composer repositories with package information
Warning from https://repo.packagist.org: You are using an outdated version of Composer. Composer 2.0 is now available and you should upgrade. See https://getcomposer.org/2
Updating dependencies (including require-dev)
Nothing to install or update
Package fzaninotto/faker is abandoned, you should avoid using it. No replacement was suggested.
Package jakub-onderka/php-console-color is abandoned, you should avoid using it. Use php-parallel-lint/php-console-color instead.
Package jakub-onderka/php-console-highlighter is abandoned, you should avoid using it. Use php-parallel-lint/php-console-highlighter instead.
Package moontoast/math is abandoned, you should avoid using it. Use brick/math instead.
Package phpunit/php-token-stream is abandoned, you should avoid using it. No replacement was suggested.
Generating optimized autoload files
Deprecation Notice: Class Way\Generators\Templates\Data\Controller located in ./vendor/xethron/laravel-4-generators/src/Way/Generators/templates/Data/Controller.php does not comply with psr-0 autoloading standard. It will not autoload anymore in Composer v2.0. in phar:///usr/local/Cellar/composer/1.10.1/bin/composer/src/Composer/Autoload/ClassMapGenerator.php:201
Deprecation Notice: Class Way\Generators\Templates\Data\Migration located in ./vendor/xethron/laravel-4-generators/src/Way/Generators/templates/Data/Migration.php does not comply with psr-0 autoloading standard. It will not autoload anymore in Composer v2.0. in phar:///usr/local/Cellar/composer/1.10.1/bin/composer/src/Composer/Autoload/ClassMapGenerator.php:201
> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover --ansi
Discovered Package: aws/aws-sdk-php-laravel
Discovered Package: beyondcode/laravel-dump-server
Discovered Package: fideloper/proxy
Discovered Package: grimzy/laravel-mysql-spatial
Discovered Package: intervention/image
Discovered Package: laravel/tinker
Discovered Package: laravelcollective/html
Discovered Package: nesbot/carbon
Discovered Package: nunomaduro/collision
Discovered Package: xethron/migrations-generator
Package manifest generated successfully.
58 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
タイトルとURLをコピーしました