Пакет недоступен в достаточно стабильной версии в соответствии с настройкой минимальной стабильности
Я действительно не понимаю, как Composer работает с настройкой минимальной стабильности.
У меня есть два пакета. Скажем, PackageA
и PackageB
.
Файл composer.json
PackageA
выглядит следующим образом:
{
"name": "vendor/packagea",
"minimum-stability": "dev",
"require": {
"vendor/packageb": "dev"
}
}
So PackageA
требует PackageB
. Json PackageB
выглядит следующим образом:
{
"name": "vendor/packageb",
"minimum-stability": "dev"
}
Итак, обе говорят, что минимальная стабильность dev
. Поэтому я предполагаю, что когда я это сделаю:
composer create-project vendor/packagea
Но потом он жалуется на сообщение:
[InvalidArgumentException]
Could not find package vendor/packagea with stability stable.
Что я нахожу странным, потому что я предполагаю, что установление минимальной стабильности dev
приведет к выгрузке пакета из его ветки разработки. Что в случае github всегда dev-master
.
Поэтому я попытался установить его, сообщив композитору, какую ветку использовать:
composer create-project vendor/packagea testFolder dev-master
Но потом он жалуется, что не может найти PackageB
:
Installing dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.
Problem 1
- The requested package vendor/packageb dev could not be found.
Тогда как я могу установить свой пакет? Я все еще разрабатываю, поэтому я не хочу создавать выпуск для PackageA и PackageB еще...
Ответы
Ответ 1
Есть две проблемы:
В create-project по умолчанию команда использует стабильную стабильность для поиска пакета для установки, поэтому он работает, если вы укажете dev-master, но не по умолчанию. Однако вы также можете запустить composer create-project vendor/packagea -s dev
После установки зависимостей, я предполагаю, что ваш пакет не существует в версии, которая называется dev
, поэтому она не может найти ее, если вы так требуете. Требование dev-master, вероятно, будет работать, например:
{
"name": "vendor/packagea",
"minimum-stability": "dev",
"require": {
"vendor/packageb": "dev-master"
}
}
Ответ 2
Как я это исправил?
После установки Composer запустите следующую команду, чтобы установить плагин Composer Asset:
php composer.phar global require "fxp/composer-asset-plugin:^1.2.0"
Теперь выберите один из шаблонов приложений, чтобы начать установку Yii 2.0. Шаблон приложения представляет собой пакет, содержащий скелет веб-приложения, написанного на Yii.