Композитор: как установить пакеты "dev` в Symfony 2.3?


Попытка установить knpgaufrettebundle в проекте Symfony 2.3, мне не повезло. Проблема в том, что:

  1. minimum-stability:stablecomposer.json);
  2. пакет, который мне требуется, по-прежнему является версией dev-master.

Чтение этого в документах Symfony было разочаровывающим:

Если вы знаете классный пакет или библиотеку PHP, для которой все еще требуется минимальная стабильность разработки, поговорите с ведущим разработчиком и убедите его пометить стабильный освобождать.

Я не изменяю минимальную стабильность всего проекта на dev, так как это, безусловно, приведет к огромному беспорядку - я имею в виду, не могу ли я использовать стабильные пакеты и пакеты разработки бок о бок?

Может быть, я что-то упустил в композиторе?


Редактировать (14 августа 2013)

Согласно ответу Свена ниже, я отредактировал свой composer.json (вы можете найти его здесь), и он начал работать. В любом случае, это это частичное решение, потому что встроенные псевдонимы не работают для зависимостей - поэтому в моем случае мне пришлось бы сначала указать все зависимости "менее стабильных" пакетов и псевдонимировать их один за другим.

Author: Community, 2013-08-13

2 answers

Просто используйте

"knplabs/knp-gaufrette-bundle": "dev-master@dev" 

Если вам нужна последняя версия для разработчиков

Вы также можете изменить минимальную стабильность на dev и добавить "предпочтительно стабильную": true следующим образом:

"minimum-stability": "dev",
"prefer-stable": true,

Затем composer всегда будет пытаться найти стабильную версию, и если ничего не найдено, установите dev, чтобы ваши пакеты symfony оставались стабильными. Но в вашем случае composer установит версию 0.1.4 (последняя стабильная версия knplabs/knp-gaufrette-bundle), поэтому вам все равно понадобится dev-master@dev. предпочитаю-стабильный - это просто подсказка для ты.

 31
Author: Lazy Ants, 2013-08-14 11:04:43

Взгляните на псевдонимы: http://getcomposer.org/doc/articles/aliases.md

Предполагается, что они позволят вам обращаться к ветви (которая по определению всегда находится в разработке, потому что вы можете получить доступ только к последней фиксации) таким образом, чтобы эта ветвь была логическим расширением тега версии.

Для еще не помеченного проекта правильная предполагаемая версия тега будет выглядеть как "0.0.0".

Вам следует попробовать встроенный псевдоним для пакета.

 1
Author: Sven, 2013-08-13 22:09:43