2016-12-30 6 views
0

Я хочу обновить friendsofsymfony/elastica-bundle от 3.1.* до dev-master.Как установить 2 комплекта Symfony одновременно с композитором, которые зависят друг от друга

Вы можете увидеть реветь мою текущую настройку 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.*" 
}, 

Проблема заключается в том, когда я удалить строку friendsofsymfony/elastica-bundle, а затем запустить 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. 

Тогда я бегу composer require ruflin/elastica "3.2.*" и получил это : Ваши требования не могут быть разрешены к устанавливаемому набору пакетов.

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. 

Так что моя проблема в том, что мне нужно установить ruflin/elastica для того, чтобы обновить friendsofsymfony/elastica-bundle, но я также необходимо обновить friendsofsymfony/elastica-bundle установить ruflin/elastica

Как я могу управлять, чтобы сделать это правильно?

Благодаря

+1

Ответ @Purple шестиугольник является правильным , другой способ сделать это ответил здесь: http://stackoverflow.com/questions/16739998/how-to-update-a-single-library-with-composer – KevinTheGreat

ответ

4

Не думаю, что есть на самом деле время, вам нужно будет удалить старую версию с вашего composer.json перед запуском требуется. Но чтобы ответить на ваш вопрос ... У вас есть два варианта, как я это вижу.

1: попытаться установить как новые пакеты в одной команде

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

2: просто вручную отредактировать свой composer.json, а затем запустить обновление композитор

"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

Спасибо, 2-й метод работает как шарм, я не знаю Я не знаю, почему я этого не делал раньше. – Fr0z3n7