Rumah > Soal Jawab > teks badan
P粉6708387352023-08-23 22:07:58
Jika anda menggunakan PHP versi 8, beberapa pemalam yang belum disokong boleh menyebabkan ralat pemasangan.
composer install --ignore-platform-req=php
或者 composer install --ignore-platform-reqs
Pilihan ini boleh digunakan untuk menetapkan keperluan khusus yang boleh diabaikan oleh komposer.
P粉2897750432023-08-23 09:22:20
Pakej komposer boleh menentukan versi PHP yang mereka sokong, sebagai tambahan kepada versi pakej lain yang mereka perlukan.
Apabila menghuraikan versi pakej untuk dipasang, Komposer mesti mencari versi yang sepadan dengan semua kekangan:
composer.json
Jika tiada pakej yang memenuhi semua kekangan ini, anda akan menerima ralat.
Perhatikan bahawa kekangan versi untuk versi PHP mengikut peraturan yang sama seperti kekangan Komposer lain. Oleh itu, kekangan untuk ^7.0
bermaksud "mana-mana versi 7.x di atas 7.0", tidak termasuk 8.0.
Untuk menyelesaikan masalah ini, anda perlu merehatkan salah satu kekangan:
acme/some-package
dalam contoh) dan cari pada Packagist (atau mana-mana sumber pakej tersuai yang anda konfigurasikan). composer.json
和其他依赖的软件包不排除该新版本。例如,如果您当前依赖于acme/some-package
的版本^1.0
,但PHP 8.0仅从版本2.2.0开始支持,您需要将约束条件更改为^2.2
dan pakej bergantung anda yang lain tidak mengecualikan versi baharu itu. Sebagai contoh, jika anda kini bergantung pada versi ^1.0
, tetapi PHP 8.0 hanya disokong bermula dengan versi 2.2.0, anda perlu menukar kekangan kepada ^2.2
, dan Pastikan aplikasi anda masih serasi.
composer.json
中使用platform
Kadangkala anda agak pasti bahawa aplikasi anda akan berjalan dengan betul menggunakan versi pakej yang sama seperti sebelum ini. Dalam kes ini, anda boleh menggunakan konfigurasi platform
dalam Variable untuk berpura-pura anda masih menggunakan versi lama. Ini hanya boleh digunakan sebagai penyelesaian sementara atau untuk ujian
Contohnya:
{ "config": { "platform": { "php": "7.4.999" } } }Lihat juga "Mengatasi kebergantungan asas PHP dalam Komposer " 🎜