Как обновить один пакет композитора?

Я знаю, что я могу использовать composer update vendor/package но вот мой случай.

Composer очень медленно обновляется, у меня установлено около 6 пакетов и один локальный пакет vcs загружается из локальной папки. Когда я бегу composer update даже для этого конкретного локального пакета композитор подключается к Packagist для поиска других обновлений, и этот процесс очень медленный, я не знаю, мой это компьютер или мой интернет. Есть ли способ, которым я могу сказать композитору просто обновить пакет из локальной папки при запуске composer update local/package не связываясь с Packagist и не просматривая все загружаемые файлы json?

Замечания:
Я знаю, как загрузить пакет локального композитора. Он отлично загружается, просто я ищу способ сказать композитору просто загрузить локальный пакет, не связываясь с Packagist.

"repositories": [
{
"type": "vcs",
"url": "../local/package"}
],

Моя проблема в том, что с Packagist очень медленно. Бег composer update local/package -vvv Показывает, что он по-прежнему загружает файлы json из packagist, даже если ему просто сказано обновить local/package,

1

Решение

Существует несколько способов ускорения загрузки Composer:

  1. определить пользовательский репо, который указывает на локальный путь и install с --prefer-source

    "repositories": [
    {
    "type":"vcs",
    "url":"/path/to/your/local/package/packageA"}
    ],
    "require":{
    "package/packageA" : "dev-master"}
    

    Последующий трюк: если вы точно знаете type репо, затем укажите это!

    Другими словами: не используйте "type":"vcs" если вы можете указать "type":"git" или же "type":"svn", Composer пропустит пробежку по всем адаптерам репо, чтобы определить правильный.

  2. Вы можете настроить Satis и определить только необходимые пакеты для вашего проекта и их зависимости ("require-dependencies": "true"). Это действует как пакетный прокси перед упаковщиком. Вы бы просто получили с локального зеркала / прокси Satis.


Попробуйте отключить репозиторий Packagist по умолчанию:

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

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]