Comments 9
простите, а зачем такие сложности?
ведь можно в проекте напрямую подключить репозиторий:
{
...,
"required": [
...,
"username/my-package": "^1.0"
],
"repositories": [
{
"type": "github",
"url": "git@github.com:username/my-package.git"
}
]
}
зачем нужен промежуточный слой в виде Satis?
Действительно, в некоторых случаях вы можете напрямую подключать репозиторий к вашему проекту без использования Satis. Он может быть особенно полезен при наличии большого количества приватных пакетов или при работе в команде
Например:
Если пакеты друг от друга зависят, автоматически подтянутся нужные приватные зависимости
Если приватных пакетов много, быстрее пройдет composer update
все приватные пакеты нужно прописывать либо в composer.json проекта, либо в конфиге satis, так что ничего автоматом не подтянется
весьма сомневаюсь, что composer update будет быстрее
Если делать через satis, то его конфиг нужно будет каждый раз обновлять при появлении новых тэгов в приватных репозиториях, такое себе удовольствие
все приватные пакеты нужно прописывать либо в composer.json проекта, либо в конфиге satis, так что ничего автоматом не подтянется
Я имею в виду случай когда у вас несколько проектов, там используется библиотечка A и она зависит от библиотечки B. B прописывается в Satis, а на проектах подтягивается автоматически
весьма сомневаюсь, что composer update будет быстрее
Композеру не придется парсить теги с каждого репозитория по новой, он просто скачивает нужные готовые манифесты с репозитория, довольно существенная разница если приватных репов 10+, кроме того при правильной настройке в проект будут скачиваться не клонированные репозитории, а zip-архивы, если вы используете сервер который так умеет, например, приватный GitLab
Если делать через satis, то его конфиг нужно будет каждый раз обновлять при появлении новых тэгов в приватных репозиториях, такое себе удовольствие
Тут согласен, поэтому планирую перейти на Packeton. Ну и наоборот, если проект один и там 2-3 кастомных зависимости, то даже Satis это overkill
satis умеет читать auth.json как обычный composer, не стоит прописывать доступы в конфиге
начиная с определенного количества пакетов стоит начать думать об активных системах типа Repman или Packeton (или раскошелиться на Private Packagist)
Как создать приватные репозитории composer