J'ai installé la dernière version de laravel (7). Maintenant, j'ai besoin d'un certain paquet :( mercadopago / dx-php)
Et jette le conflit suivant:
"name": "doctrine/inflector", "version": "2.0.3", "source": {... etc
J'ai essayé:
composer depends doctrine/inflector
Et lance: laravel/framework v7.15.0 requires doctrine/inflector (^1.4|^2.0)
Si j'ai bien compris, tout fonctionnera bien si je supprime doctrine / inflector [2.0.3], et installe, par exemple, doctrine / inflector [1.4.3].
composer.lock a ce qui suit:
Problem 1 - Installation request for mercadopago/dx-php ^2.0 -> satisfiable by mercadopago/dx-php[2.0.0]. - Conclusion: remove doctrine/inflector 2.0.3 - Conclusion: don't install doctrine/inflector 2.0.3 - mercadopago/dx-php 2.0.0 requires doctrine/inflector ^1.0 -> satisfiable by doctrine/inflector[1.0.x-dev, 1.1.x-dev, 1.2.x-dev, 1.3.1, 1.3.x-dev, 1.4.0, 1.4.1, 1.4.2, 1.4.3, 1.4.x-dev, v1.0, v1.0.1, v1.1.0, v1.2.0, v1.3.0]. - Can only install one of: doctrine/inflector[1.4.0, 2.0.3]. - Can only install one of: doctrine/inflector[1.4.1, 2.0.3]. - Can only install one of: doctrine/inflector[1.4.2, 2.0.3]. - Can only install one of: doctrine/inflector[1.4.3, 2.0.3]. - Can only install one of: doctrine/inflector[1.4.x-dev, 2.0.3]. - Can only install one of: doctrine/inflector[1.0.x-dev, 2.0.3]. - Can only install one of: doctrine/inflector[1.1.x-dev, 2.0.3]. - Can only install one of: doctrine/inflector[1.2.x-dev, 2.0.3]. - Can only install one of: doctrine/inflector[1.3.1, 2.0.3]. - Can only install one of: doctrine/inflector[1.3.x-dev, 2.0.3]. - Can only install one of: doctrine/inflector[v1.0, 2.0.3]. - Can only install one of: doctrine/inflector[v1.0.1, 2.0.3]. - Can only install one of: doctrine/inflector[v1.1.0, 2.0.3]. - Can only install one of: doctrine/inflector[v1.2.0, 2.0.3]. - Can only install one of: doctrine/inflector[v1.3.0, 2.0.3]. - Installation request for doctrine/inflector (locked at 2.0.3) -> satisfiable by doctrine/inflector[2.0.3].
Quelle est la bonne façon d'installer doctrine / inflector version 1.4.3, après avoir déjà installé 2.0.3?
3 Réponses :
Il semble que tout fonctionne bien rien qu'en faisant
composer require doctrine/inflector:1.4.0
Cependant, il lance l'avertissement suivant lors du diagnostic du composeur:
require.doctrine / inflector: les contraintes de version exactes (1.4.3) doivent être évitées si le paquet suit le contrôle de version sémantique.
L'installation de doctrine/inflector:1.4.0
m'a apporté quelques problèmes, comme la réflexion du nom des tables dans la base de données des modèles.
La solution la plus viable, me semble-t-il, est d'installer mecadopago/dx-php
dans un autre répertoire et d'inclure ce nouveau chargement automatique dans le service de paiement de votre application.
C'est une manière incorrecte d'utiliser composer. Mauvaise pratique.
Je suis d'accord. Mais malheureusement, je n'ai pas pu contourner les conflits.
Supprimez votre fichier composer.lock , supprimez votre fournisseur de dossier et exécutez composer require "mercadopago / dx-php: 2.2.1"
peut-être juste: le
composer require doctrine/inflector:^1.4
Ouais !, semble que, ça a fait l'affaire, je ne sais pas si quelque chose se briserait cependant ...