Komposer 2: Apa yang Baru?

Composer, manajer ketergantungan untuk PHP, dirilis sekitar 8 tahun yang lalu dan hari ini versi baru diterbitkan, 2.0. Komposer telah menerima banyak fitur baru selama bertahun-tahun dan mengikuti standar PHP. Versi kedua kompatibel dengan proyek lama, tetapi akan menghadirkan beberapa fitur baru yang lebih hebat. Pada artikel ini saya akan memberi tahu Anda lebih banyak tentang mereka.

Akselerasi dan pengoptimalan

Peningkatan kinerja telah dilakukan dalam rilis ini. Sekarang tidak memperhitungkan paket yang sudah diinstal, sebagai hasilnya, pembaruannya jauh lebih cepat. Kami juga meningkatkan pekerjaan dengan memori dan prosesor.

. vendor , , . .

, , , , , hirak/prestissimo, .

Komposer v2 hampir 2x lebih cepat saat menginstal laravel / laravel tanpa caching.
Composer v2 2 , laravel/laravel .

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 , (*), .\

Jika karena alasan tertentu Anda ingin mengabaikan persyaratan platform tertentu, Anda cukup menjalankan perintah: composer install --ignore-platform-req php

Ini akan melewati persyaratan untuk PHP atau versi tertentu. Jika Anda akan mengabaikan semua persyaratan, Anda harus menggunakan perintah yang sudah tersedia di versi sebelumnya --ignore-platform-reqs

Pembaruan Lainnya

Ada banyak fitur kecil dan perbaikan bug baru yang telah meningkatkan kegunaan dan kualitasnya. Jika Anda tertarik untuk mempelajari lebih lanjut tentang mereka, lihat Catatan Rilis Github .




All Articles