Мне нужно подключиться к процессу установки композитора, чтобы исправить версии зависимостей второго уровня корневого пакета. То есть Мой пакет зависит от некоторых пакетов (с правильными версиями), но эти пакеты зависят от других пакетов, и его версии являются «неправильными». Я пытаюсь использовать предварительно пакет установить подключить для исправления таких версий, но это не работает для меня, код внутри Installer :: prePackageInstall не выполняется.
Корневой пакет composer.json выглядит так:
{
"name": "***/root-package",
"repositories": [ { "type": "composer", "url": "http://***/packages.json" } ],
"require": {
"***/first-level-dep-1": "dev-release-XX",
"***/first-level-dep-2": "dev-release-XX"},
"scripts": {
"pre-package-install": [
"root-package\\Installer::prePackageInstall"]
}
}
Зависимость первого уровня composer.json выглядит следующим образом:
{
"name": "***/first-level-dep-1",
"repositories": [ { "type": "composer", "url": "http://***/packages.json" } ],
"require": {
"***/second-level-dep-1": "*", // !!! here is my problem
"***/second-level-dep-2": "*"}
}
Мне нужно заменить * соответствующей версии в процессе установки.
Вам не нужно «исправлять» эту версию. Вы должны просто добавить этот второй уровень-dep как свою собственную зависимость в правильной версии, и дело будет решено.
Если для зависимости первого уровня требуется ЛЮБАЯ версия этого пакета, ВЫ, в зависимости от правильной версии, ограничите устанавливаемые версии той, которую вы разрешаете.
Других решений пока нет …