作曲家2:新機能

PHPの依存関係マネージャーであるComposerは約8年前にリリースされ、本日、新しいバージョン2.0が公開されました。Composerは、長年にわたって多くの新機能を受け取り、PHP標準に対応してきました。2番目のバージョンは古いプロジェクトと互換性がありますが、いくつかの優れた新機能が追加されます。この記事では、それらについて詳しく説明します。

加速と最適化

このリリースでは、パフォーマンスが向上しています。現在、すでにインストールされているパッケージは考慮されていないため、更新ははるかに高速です。また、メモリとプロセッサの処理も改善されました。

インストールチームはよりスマートになりました。これで、すべてのパッケージがインストールされていることを確認するまで、ベンダーフォルダーは変更されません。これにより、プロセス中にエラーが発生した場合にそれらを削除する時間を無駄にすることがなくなります。

私にとって最高の機能の1つは並列読み込みです。これはすぐにサポートされるようになり、これを機能させるためにhirak / prestissimoなどの追加パッケージをインストールする必要はありません。

Composer v2は、キャッシュなしでlaravel / laravelをインストールすると、ほぼ2倍高速になります。
Composer v2は、キャッシュなしでlaravel / laravelをインストールすると、ほぼ2倍高速になります。

オフラインサポート

Composer . , Composer install/update .

, COMPOSER_DISABLE_NETWORK=1 :

COMPOSER_DISABLE_NETWORK=1 composer install

. , .:

https://repo.packagist.org could not be fully loaded (Network disabled, request canceled: https://repo.packagist.org/packages.json), package information was loaded from the local cache and may be out of date

, , :

The required git reference for gabrielanhaia/laravel-circuit-breaker is not in cache and network is disabled, aborting

--dry-run “require” “remove”

(composer update --dry-run. , , , vendor.

Composer 2.* composer require composer remove

root

root , .

, , :

Do not run Composer as root/super user! See https://getcomposer.org/root for details

Composer 2.* :

https://getcomposer.org/root for details
Continue as root/super user [yes]?

, . , --no-interaction

composer install --no-interaction

, . Composer 1.0 / . , ( ).

( ). , , packagist, .

, composer 2.x, . Composer 1.x , , , :

{
    "repositories": [
        {
            "type": "composer",
            "url": "https://example.org",
            "canonical": false
        }
    ]
}

, , , , , .

, foo/bar some-vendor/ composer .:

{
    "repositories": [
        {
            "type": "composer",
            "url": "https://example.org",
            "only": ["foo/bar", "some-vendor/*"]
        }
    ]
}

toy/package , , , .

{
    "repositories": [
        {
            "type": "composer",
            "url": "https://example.org",
            "exclude": ["toy/package"]
        }
    ]
}

only, exclude , (*), .\

- - , : composer install --ignore-platform-req php

PHPまたは特定のバージョンの要件をスキップします。すべての要件を無視する場合は、以前のバージョンですでに使用可能なコマンドを使用する必要があります --ignore-platform-reqs

その他の更新

その使いやすさと品質を改善した多くの新しい小さな機能とバグ修正があります。それらについて詳しく知りたい場合は、Githubリリースノートを確認しください




All Articles