2015-03-25 2 views
1

Я знаю, что могу использовать composer update vendor/package, но вот мое дело.Как обновить один пакет композитора?

Композитор очень медленно при обновлении, у меня установлено около 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.

+0

[Композитор: установка пакета из локального хранилища мерзавца] (http://marekkalnik.tumblr.com/post/22929686367/composer-install-package-from-local-git) –

+0

@MarkBaker спасибо, но это не то, что я просил. Я обновил вопрос. –

ответ

3

Есть несколько способов ускорения 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". Композитор пропустит все адаптеры репо, чтобы отобразить правильный.

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


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

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

Спасибо, Дженс, но я искал, как сказать композитору, чтобы он не связывался с Пакагистом при обновлении локального пакета. Я обновил вопрос. –

+0

Обновлен мой ответ: отключите упаковщик с помощью 'packagist: false'. –

+0

Добавление 'packagist: false' решило проблему, но я должен удалять ее каждый раз, когда я должен был обновлять другие пакеты и добавлять их обратно, когда хочу просто обновлять локальные. Я думаю, что композитор должен добавить функциональность обнаружения, когда пакет локальный, если это так, не нужно вызывать packagist.com. В любом случае, спасибо. –

 Смежные вопросы

  • Нет связанных вопросов^_^