2017-06-26 1 views
1

Nous sommes en train d'essayer de gérer tous les modules Drupal qui n'ont pas été installés avec Composer dans Composer.Impossible de mettre à jour dompdf via Composer dans Drupal 8

  • Compositeur: 1.4.12
  • Drupal: 8.3.1

Après avoir effacé le cache du compositeur, nous avons couru les éléments suivants:

./composer require dompdf/dompdf; 

Ce retour:

./composer.json has been updated 
> DrupalProject\composer\ScriptHandler::checkComposerVersion 
Loading composer repositories with package information 
Updating dependencies (including require-dev) 
Your requirements could not be resolved to an installable set of packages. 

    Problem 1 
    - Can only install one of: phenx/php-svg-lib[v0.2, 0.1]. 
    - Can only install one of: phenx/php-svg-lib[v0.2, 0.1]. 
    - Can only install one of: phenx/php-svg-lib[v0.2, 0.1]. 
    - dompdf/dompdf v0.8.0 requires phenx/php-svg-lib 0.2.* -> satisfiable by phenx/php-svg-lib[v0.2]. 
    - Installation request for dompdf/dompdf ^0.8.0 -> satisfiable by dompdf/dompdf[v0.8.0]. 
    - Installation request for phenx/php-svg-lib (locked at 0.1) -> satisfiable by phenx/php-svg-lib[0.1]. 

Installation failed, reverting ./composer.json to its original content. 

Il semble que le pro par chose à faire serait de ne pas verrouiller "phenx/php-svg-lib" à la version 0.1, puis de mettre à jour dompdf, cependant quand nous avons modifié le fichier composer.json de dompdf pour requérir phenx/php-svg-lib version 0.2. *, clearcache , alors essayez de nouveau, nous obtenons la même erreur que ci-dessus, qui fait toujours référence au verrou à 0.1. J'ai également confirmé que dompdf est le seul module fournisseur utilisant phenx/php-svg-lib.

De même, y a-t-il une raison pour laquelle "Can only install one of" est listé trois fois?

Merci d'avance pour tout conseil.

Répondre

2

Il semble que ce problème se produit lors de la mise à jour dompdf à partir de la version 0.7.0 vers 0.8.0. Pour une raison quelconque, la mise à jour fonctionne parfaitement avec le composeur 1.2.x, mais résulte de l'erreur ci-dessus avec la version 1.4.x.

Le correctif qui a fait le travail pour moi était d'enlever

"dompdf/dompdf": "^0.7.0" 

du fichier composer.json puis exécutez:

composer update 

Le résultat devrait être quelque chose comme:

> DrupalProject\composer\ScriptHandler::checkComposerVersion 
Loading composer repositories with package information 
Updating dependencies (including require-dev) 
Package operations: 0 installs, 0 updates, 3 removals 
    - Removing dompdf/dompdf (v0.7.0) 
    - Removing phenx/php-font-lib (0.4) 
    - Removing phenx/php-svg-lib (0.1) 
Writing lock file 
Generating autoload files 

Ensuite, nécessitent une nouvelle version:

composer require dompdf/dompdf 
+0

Merci. Cela a fonctionné parfaitement. – AlwaysLearning