как я могу установить пакет в composer без зависимостей
-
21-12-2019 - |
Вопрос
Я использую composer
с symfony php
.
Есть один bundle A
который зависит от другого bundle B v 1.1
.
Но у меня есть последняя версия bundle B v 2
.
Теперь я хочу установить bundle A
без установки его зависимости bundle B v 1.1
.
Как мне поступить?Пожалуйста, предложите.
Решение
установка:
Последняя версия ladybug-bundle - это 1.0.2
но тем временем произошло еще несколько коммитов.Для этого требуется версия божьей коровки 1.0.8
который также не включает в себя последние изменения.
решение:
Простым решением было бы использование встроенный псевдоним.Что-то вроде:
"require" : {
"raulfraile/ladybug-bundle": "dev-master as 1.0.3"
"raulfraile/ladybug": "dev-master as 1.0.9"
}
альтернатива:
Вы можете определить пакет с таким же именем в своем композитор.json это включает в себя измененную зависимость.
Просто скопируйте определение пакета из исходного пакета, добавьте расположение dist/source и отредактируйте требования.
затем composer будет использовать это новое определение пакета, поскольку он выбирает первое совпадение из всех известных репозиториев (packagist всегда запрашивается последним).
Вы должны выбрать конкретную фиксацию для dist-zip.Пример:
"repositories": [
{
"type": "package",
"package": {
"name": "raulfraile/ladybug-bundle",
"version": "1.0.3",
"require": {
"raulfraile/ladybug" : "~1.0@dev"
},
"dist": {
"url": "https://github.com/raulfraile/LadybugBundle/archive/5c3739a881313f63f7b47ace49af5deeed211362.zip",
"type": "zip"
},
}
}
],
Теперь требуется "raulfraile/ladybug-bundle": "~1.0"
В вашем композитор.json и он будет использовать 1.0.3
версию, которую вы определили сами.