По моему мнению, вся работа, предложенная позолотой , не нужна и слишком осторожна. Конечно, вы можете вручную обновить файл deps
, используя все, что вы захотите. В настоящее время я использую Doctrine \ Common (2.2.1), Doctrine \ DBAL (2.2.1) и Doctrine (2.2.1) на Symfony 2.0.11 без проблем.
Вам нужно беспокоиться не о библиотеках (обычно), а о пакетах , которые используют библиотек, которые требуют определенных версий. Например, Symfony2 не имеет прямой зависимости ни от какой версии Doctrine - но DoctrineBundle делает.
Перед обновлением пакета / библиотеки обычно полезно проверить их необходимые зависимости на Packagist.org . Найдите пакет, который вы хотите обновить, и посмотрите, какие требуемые зависимости они определяют. Примечание: Это не потребуется в Symfony 2.1, поскольку для управления библиотеками поставщиков будет использоваться Composer .
Хотя вы никогда не узнаете, работает ли что-то с вашей установкой или нет, если вы не попробуете. Конечно, не делайте глупостей - но нет причин бояться ломать вещи, обновляя библиотеки поставщиков. Сохраните свой код в Git, и вы сможете легко отменить изменения. Смотрите: Как создать и сохранить проект Symfony2 в Git
Кроме того, при указании version=#.#.#
в deps
- даже если у вас вообще нет файла deps.lock
, вы всегда будете получать один и тот же хэш коммита, поскольку вы указываете тег Git в хранилище.
Некоторые пакеты, вместо предоставления номеров версий, будут предлагать различные ветви для управления совместимостью с несколькими версиями Symfony. Таким образом, вы можете увидеть что-то вроде version=origin/2.0
, что означает, что скрипт производителя извлечет последнюю фиксацию в ветке с именем 2.0
хранилища. Сопровождающий, скорее всего, попытается сохранить эту ветку всегда совместимой с Symfony 2.0.x.