Pull to refresh

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

Да, тоже хороший вариант, хотя и бета еще. Мне, к сожалению, не очень подходит

  1. satis умеет читать auth.json как обычный composer, не стоит прописывать доступы в конфиге

  2. начиная с определенного количества пакетов стоит начать думать об активных системах типа Repman или Packeton (или раскошелиться на Private Packagist)

Sign up to leave a comment.

Articles