首页  >  问答  >  正文

Laravel 9 不支持安装 mpdf

我使用的是laravel 9,我的PhP版本是8.0.2,我正在尝试安装Mpdf包,所以我编写了以下命令

composer require mpdf/mpdf

但我收到此错误 问题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.

我尝试删除供应商和composer.lock并使用composer更新,它确实有效

P粉738676186P粉738676186275 天前433

全部回复(1)我来回复

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

    回复
    0
  • 取消回复