Ich verwende Laravel 9 und meine PHP-Version ist 8.0.2 und ich versuche, das Mpdf-Paket zu installieren, also habe ich den folgenden Befehl geschrieben
composer require mpdf/mpdf
Aber ich erhalte diesen Fehler Frage 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.
Ich habe versucht, Vendor und Composer.lock zu entfernen und Composer Update zu verwenden, und es hat funktioniert
mPDF 与
psr/log
3.x 不兼容,因为它支持较旧的 PHP 版本(没有返回类型提示)。 之前安装的 Laravel 会强制将psr/log
库转换为 3.x 版本。您可以使用标志
--with-all-dependencies
以及composer require mpdf/mpdf
自动降级依赖项。或者,将
psr/log
库降级到 2.x - 只需在您的 Composer 中添加或更改"psr/log": "^2.0"
行。 json 文件并运行composer update
。这将解决该问题。或者你可以先要求 mPDF,然后再要求 Laravel,这也应该可以。或者在一个命令中同时要求它们。