Композитор - запрошенный пакет [0.0.9] существует как [0.0.5.0.0.6], но они отклоняются вашим ограничением
Сегодня у меня возникла странная ошибка в composer update
котором я не могу описать сам.
{
"repositories": {
"my-plugin": {
"type": "vcs",
"url": "[email protected]:mjplug/myplugin.git"
}
},
"require": {
"my-plugin/myplugin": "0.0.9",
}
}
Когда я попробую composer update
я получу
The requested package my-plugin/my-plugin 0.0.9 exists as my-plugin/my-plugin[0.0.6, 0.0.5] but these are rejected by your constraint.
Но в репозитории существуют теги, такие как 0.0.7, 0.0.8, 0.0.9
. Почему их не нашли?
Если я устанавливаю ~0.0.1
качестве ограничения версии, это работает, потому что композитор установит 0.0.6
.
Любые намеки? Спасибо
EDIT: вот скриншот нашего экземпляра сервера Bitbucket: http://imgur.com/a/m8lRT
EDIT 2: SOLVED: В какой-то последней версии я поместил composer.json по какой-то причине в подкаталог. Таким образом, проблема заключалась в том, что композитор не смог найти последние теги.
Ответы
Ответ 1
Поскольку файлы Wordpress Plugin должны быть в подпапке, я помещал все файлы, включая composer.json, в подкаталог и выталкивал новую версию.
Позже я попытался установить новую версию внутри моего проекта, и новая версия не была найдена. Это была проблема. Композитор.json должен быть в корне. (Глупый я)
Полезная команда: composer show myplugin/myplugin
Ответ 2
Композитор позволяет использовать ветки в качестве версий, указав их как dev-, поэтому мастер dev- относится к мастер-ветке. Если вы хотите указать конкретный тег, это похоже на
"author/package": "dev-master#v1.1.0"
Также см. Ссылку:
ССЫЛКА НА САЙТ
Ссылка
Ответ 3
Как описано в документации Composer, я бы v0.0.7
ваши теги до: v0.0.7
, v0.0.8
, v0.0.9
на вашей основной ветке. Таким образом, помочь композитору следовать сказанному:
Композитор сначала просит VCS перечислить все доступные теги, а затем создает внутренний список доступных версий на основе этих тегов. В приведенном выше примере внутренний список композиторов включает версии 1.0, 1.0.1, 1.0.2, бета-версию 1.1, первый и второй кандидаты на выпуск 1.1, окончательную версию версии 1.1 и т.д. (Обратите внимание, что Composer автоматически удаляет префикс 'v' в фактическом тэге, чтобы получить действительный номер окончательной версии.
После этих тегов на вашем хозяине ваш "my-plugin/myplugin": "0.0.9"
или "my-plugin/myplugin": "0.0.*"
т.д. Должен работать правильно.