Композитор - запрошенный пакет [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.*" т.д. Должен работать правильно.