2016-12-30 4 views
0

Je souhaite mettre à niveau friendsofsymfony/elastica-bundle de 3.1.* à dev-master.Comment installer 2 ensembles Symfony en même temps avec un composeur qui dépend les uns des autres

Vous pouvez voir ci-dessous mon réglage actuel de composer.json:

"require": { 
    "php": ">=5.3.9", 
    "symfony/symfony": "2.8.*", 
    "doctrine/orm": "^2.4.8", 
    "doctrine/doctrine-bundle": "~1.4", 
    ... 
    "friendsofsymfony/elastica-bundle": "3.1.*" 
}, 

Le problème est quand je supprimer la ligne friendsofsymfony/elastica-bundle puis exécutez composer require fiendsofsymfony/elastica-bundle "dev-master":

Your requirements could not be resolved to an installable set of packages. 

    Problem 1 
- Installation request for friendsofsymfony/elastica-bundle dev-master -> satisfiable by friendsofsymfony/elastica-bundle[dev-master]. 
- friendsofsymfony/elastica-bundle dev-master requires ruflin/elastica 3.2.* -> satisfiable by ruflin/elastica[3.2, 3.2.1, 3.2.2, 3.2.3] but these conflict with your requirements or minimum-stability. 

Alors je lance composer require ruflin/elastica "3.2.*" et a obtenu cette : Vos exigences n'ont pas pu être résolues en un ensemble installable de packages.

Problem 1 
- The requested package friendsofsymfony/elastica-bundle (locked at 3.1.8, required as dev-master) is satisfiable by friendsofsymfony/elastica-bundle[3.1.8] but these conflict with your requirements or minimum-stability. 

Donc mon problème est que je dois installer ruflin/elastica afin de mettre à niveau friendsofsymfony/elastica-bundle mais je dois aussi mettre à niveau friendsofsymfony/elastica-bundle installer ruflin/elastica

Comment puis-je réussir à le faire correctement?

Merci

+1

La réponse de @Purple Hexagone est correcte , autre façon de le faire est répondu ici: http://stackoverflow.com/questions/16739998/how-to-update-a-single-library-with-composer – KevinTheGreat

Répondre

4

Ne pense pas qu'il y ait vraiment une fois que vous devrez supprimer l'ancienne version de votre composer.json avant d'exécuter un besoin. Mais pour répondre à votre question ... Vous avez deux options comme je le vois.

1: essayer d'installer les deux nouveaux paquets dans une commande

composer require ruflin/elastica:3.2.* friendsofsymfony/elastica-bundle:dev-master 

2: il suffit de modifier manuellement votre composer.json puis exécutez compositeur update

"require": { 
    "php": ">=5.3.9", 
    "symfony/symfony": "2.8.*", 
    "doctrine/orm": "^2.4.8", 
    "doctrine/doctrine-bundle": "~1.4", 
    ... 
    "friendsofsymfony/elastica-bundle": "dev-master", 
    "ruflin/elastica": "3.2.*" 

}, 
+1

Merci, la 2ème méthode fonctionne comme un charme, je ne Je ne sais pas pourquoi je ne l'ai pas fait avant. – Fr0z3n7