У меня есть проект с несколькими пакетами Каждый пакет находится в частном репозитории git.Круговые зависимости Satis
Некоторые из пакетов имеют зависимости друг от друга.
Здесь вы можете посмотреть, как выглядит моя satis http://codepen.io/anon/pen/wBOEQW.
Теперь, если я клонировать проект-xpto/ядро и запустить обновление композитора я получаю это:
➜ PHP-ядро мерзавца: обновление (мастер) композитор Загрузки композитор репозиториев с информацией пакета Обновления зависимые (включая require-dev) Ваши требования не могут быть разрешены к устанавливаемому набору пакетов.
Problem 1 - Installation request for project-xpto/event dev-master -> satisfiable by project-xpto/event[dev-master]. - project-xpto/event dev-master requires project-xpto/activity-streams dev-master -> no matching package found. Problem 2 - Installation request for project-xpto/tool dev-master -> satisfiable by project-xpto/tool[dev-master]. - project-xpto/tool dev-master requires project-xpto/activity-streams dev-master -> no matching package found. Potential causes: - A typo in the package name - The package is not available in a stable-enough version according to your minimum-stability setting see <https://groups.google.com/d/topic/composer-dev/_g3ASeIFlrc/discussion>
для получения более подробной информации.
Read <http://getcomposer.org/doc/articles/troubleshooting.md> for further common problems.
- satis.json =>http://pastie.org/private/s0e2rxtnvpv9g7rpp415a
- composer.json xpto-ядра =>http://pastie.org/10062586
- composer.json xpto-события =>http://pastie.org/private/stxe2sbwpja8088knrldq
- composer.json xpto-инструмента => http://pastie.org/private/11o9wv94kvfprl5wjfibrq
- composer.json xpto-activity-streams => http://pastie.org/private/plieipe2gco1yt4gs0jxg
Не предполагают, чтобы Satis решить все зависимости и все отлично работает?
Что я делаю неправильно?
Если вам нужно что-нибудь еще, просто спросите, я обновлю здесь.
Вы, сэр, спасите меня из трудных часов! Но просто для подтверждения, это своего рода переход от svn к git/satis, и пока они просто пустые скелеты без кода, я должен создать новые ветви в git-репозиториях, называемых «dev»/«stable»? пока я только что получил «мастер» и создал несколько тегов. Какова наилучшая практика? – Tomahock
Я добавляю свой ответ с кратким уведомлением о «предпочтительном-стабильном» в сочетании с «минимальной стабильностью». –
Рад, что я мог помочь :) «Лучшая практика» - хм, я думаю, когда это новый проект или миграция, нормально работать со стабильным разработчиком по всему проекту. Но цель «должна быть», чтобы получить каждый пакет в стабильную версию, даже если это всего лишь крошечный v0.1. Начать ранжирование версий в начале пакетов. Затем вы можете удалить минимум стабильности из основного проекта и начать использовать ограничения версии, получая стабильные версии, например «1.0.0», чтобы получить последнюю стабильную версию или «~ 1.0». Другими словами: цель состоит в том, чтобы иметь основной проект, составленный из стабильных пакетов. –