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é
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èquepsr/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 lacomposer 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.