Могу ли я синхронизировать или зеркальные зависимости от packagist.org с помощью моей собственной установки Composer Satis? - программирование
Подтвердить что ты не робот

Могу ли я синхронизировать или зеркальные зависимости от packagist.org с помощью моей собственной установки Composer Satis?

У нас есть собственный репозиторий Satis, мы можем хранить там свои собственные зависимости. Это прекрасно работает.

Но если разработчик использует пакет, который не входит в наш собственный репозиторий, Composer будет извлекать его из GitHub через packagist.org(в качестве резервной копии).

Но мы не хотим быть зависимыми от packagist.org. Все зависимости должны быть загружены из нашего собственного репозитория.

Что нам нравится, если возможно, что Satis загрузит пакет из Packagist, если он еще не доступен локально, а затем сохраните его и автоматически добавьте в собственный репозиторий Satis.

Таким образом, нам не нужно вручную добавлять зависимости в репозиторий Satis.

4b9b3361

Ответ 1

Satis теперь поддерживает это.

Просто следуйте инструкциям Инструкции по настройке Satis и добавьте в свой файл конфигурации (который по умолчанию называется satis.json). Обновить префикс-url и потребовать соответственно.

{
    "repositories": [
        { "type": "composer", "url": "https://packagist.org" }
    ],
    "require-dependencies": true,
    "require": {
        {{your application dependencies from composer.json}}
    },
    "archive": {
        "directory": "dist",
        "prefix-url": "{{your server}}",
        "skip-dev": true
    }
}

Затем вы можете создать свой репозиторий Satis, как обычно:

php bin/satis build <configuration file> <build dir>

Теперь ваш репозиторий Satis будет удовлетворять всем вашим зависимостям приложений.


Примечание: первый запуск может занять некоторое время. Последующие прогоны намного быстрее. Также обратите внимание, что Satis использует /tmp для своего кеша. В небольшой системе памяти, где /tmp поддерживается tmpfs, вам может потребоваться увеличить пространство /tmp, если у вас есть большое дерево зависимостей.

Вы также можете отключить репозиторий Packagist в своем файле проекта composer.json, чтобы обеспечить, чтобы все зависимости поступали из вашего репозитория Satis. Для этого добавьте:

{
    "repositories": [
        {
            "packagist": false
        }
    ]
}

вашему проекту composer.json.

Ответ 2

Вы можете использовать broker для достижения этого на данный момент. Скорее всего, эта возможность будет добавлена ​​в сатиссу по линии.