Heim  >  Fragen und Antworten  >  Hauptteil

Laravel 9 unterstützt die Installation von mpdf nicht

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

P粉738676186P粉738676186275 Tage vor432

Antworte allen(1)Ich werde antworten

  • P粉864594965

    P粉8645949652023-12-24 14:49:51

    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,这也应该可以。或者在一个命令中同时要求它们。

    Antwort
    0
  • StornierenAntwort