Maison  >  Questions et réponses  >  le corps du texte

Laravel 9 ne prend pas en charge l'installation de mpdf

J'utilise Laravel 9 et ma version PhP est 8.0.2 et j'essaie d'installer le package Mpdf, j'ai donc écrit la commande suivante

composer require mpdf/mpdf

Mais j'obtiens cette erreur Question 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.

J'ai essayé de supprimer supplier et composer.lock et d'utiliser composer update et cela a fonctionné

P粉738676186P粉738676186275 Il y a quelques jours428

répondre à tous(1)je répondrai

  • P粉864594965

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

    mPDF n'est pas compatible avec psr/log 3.x car il prend en charge les anciennes versions de PHP (sans indications de type de retour). Une précédente installation de Laravel forcera la conversion de la bibliothèque psr/log vers la version 3.x.

    Vous pouvez utiliser le drapeau --with-all-dependencies 以及 composer require mpdf/mpdf pour rétrograder automatiquement les dépendances.

    Vous pouvez également rétrograder la bibliothèque psr/log 库降级到 2.x - 只需在您的 Composer 中添加或更改 "psr/log": "^2.0" 行。 json 文件并运行 composer update vers la version 2.x - ajoutez ou modifiez simplement la ligne "psr/log": "^2.0" dans votre Composer. json et exécutez la composer update. Cela résoudra le problème.

    Ou vous pouvez d'abord demander mPDF, puis demander Laravel, cela devrait également fonctionner. Ou exigez les deux dans une seule commande.

    répondre
    0
  • Annulerrépondre