Я знаю, что я могу использовать 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
,
Существует несколько способов ускорения загрузки Composer:
определить пользовательский репо, который указывает на локальный путь и 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 пропустит пробежку по всем адаптерам репо, чтобы определить правильный.
Вы можете настроить Satis и определить только необходимые пакеты для вашего проекта и их зависимости ("require-dependencies": "true"
). Это действует как пакетный прокси перед упаковщиком. Вы бы просто получили с локального зеркала / прокси Satis.
Попробуйте отключить репозиторий Packagist по умолчанию:
{
"repositories": [
{
"packagist": false
}
]
}
Других решений пока нет …