Saya menggunakan laravel 9 dan versi PhP saya ialah 8.0.2 dan saya cuba memasang pakej Mpdf jadi saya menulis arahan berikut
composer require mpdf/mpdf
Tetapi saya mendapat ralat ini Soalan 1
- mpdf/mpdf[v8.1.0, ..., v8.1.2] require psr/log ^1.0 || ^2.0 -> found psr/log[1.0.0, ..., 1.1.4, 2.0.0] but the package is fixed to 3.0.0 (lock file version) by a partial update and that version does not match. Make sure you list it as an argument for the update command. - Root composer.json requires mpdf/mpdf ^8.1 -> satisfiable by mpdf/mpdf[v8.1.0, v8.1.1, v8.1.2]. Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.
Saya cuba mengalih keluar vendor dan composer.lock dan menggunakan kemas kini komposer dan ia berjaya
mPDF tidak serasi dengan
psr/log
3.x kerana ia menyokong versi PHP yang lebih lama (tanpa petunjuk jenis pemulangan). Pemasangan Laravel sebelum ini akan memaksa perpustakaanpsr/log
ditukar kepada versi 3.x.Anda boleh menggunakan bendera
--with-all-dependencies
以及composer require mpdf/mpdf
untuk menurunkan taraf kebergantungan secara automatik.Sebagai alternatif, turun taraf perpustakaan
psr/log
库降级到 2.x - 只需在您的 Composer 中添加或更改"psr/log": "^2.0"
行。 json 文件并运行composer update
kepada 2.x - cuma tambah atau tukar baris"psr/log": "^2.0"
dalam Komposer anda. json dan jalankankemas kini komposer
. Ini akan menyelesaikan masalah.Atau anda boleh meminta mPDF dahulu dan kemudian meminta Laravel, itu juga akan berfungsi. Atau memerlukan kedua-duanya dalam satu arahan.