@VisualIdeas

Почему может тормозить Composer?

Имеем простой файл composer.json:
{
  "name": "vendor_name/package_name",
  "description": "description_text",
  "minimum-stability": "stable",
  "license": "proprietary",
  "authors": [
    {
      "name": "author's name",
      "email": "email@example.com"
    }
  ],
  "require": {
    "colshrapnel/safemysql": "1.0.0",
    "codedungeon/php-cli-colors": "1.11.0",
    "psr/log": "1.1.3",
    "ext-mbstring": "*",
    "jbroadway/urlify": "1.0.0-stable",
    "box/spout": "3.1.x-dev"
  }
}


Запускаем composer update
Выходят сообщения:
Loading composer repositories with package information
Updating dependencies (including require-dev)


И дальше повисает минут на 30-40
Так же происходит при добавлении одного пакета!

После 30 - 40 минут дальше все идет нормально...
Package operations: 6 installs, 0 updates, 0 removals
  - Installing colshrapnel/safemysql (1.0.0): Loading from cache
  - Installing codedungeon/php-cli-colors (1.11.0): Loading from cache
  - Installing psr/log (1.1.3): Loading from cache
  - Installing jbroadway/urlify (1.0.0-stable): Loading from cache
  - Installing box/spout (dev-master ab973ca): Cloning ab973cab34 from cache
box/spout suggests installing ext-intl (To handle non UTF-8 CSV files (if "iconv" is not already installed))
Writing lock file
Generating autoload files


Очистил кеш composer clearcache и попробовал снова:
Та же история....((( Только сообщение о результате немного другое:
Package operations: 6 installs, 0 updates, 0 removals
  - Installing colshrapnel/safemysql (1.0.0): Downloading (100%)         
  - Installing codedungeon/php-cli-colors (1.11.0): Downloading (100%)         
  - Installing psr/log (1.1.3): Downloading (100%)         
  - Installing jbroadway/urlify (1.0.0-stable): Downloading (100%)         
  - Installing box/spout (dev-master ab973ca): Cloning ab973cab34 from cache
box/spout suggests installing ext-intl (To handle non UTF-8 CSV files (if "iconv" is not already installed))
Writing lock file
Generating autoload files


Ради эксперимента попробовал на системном SSD NVME диске - история на 100% такая же (значит дело не в HDD).

MacOS High Sierra (10.13.6 (17G13035))
Composer version 1.10.7 2020-06-03 10:03:56


UPD: Предположили что много зависимостей - оставил 1 пакет
https://github.com/php-fig/log (зависимостей нет и сам пакет буквально пару файлов)
История повторяется
  • Вопрос задан
  • 164 просмотра
Решения вопроса 1
@nikitos42050
PHP, C# Developer
Попробуйте вынести composer глобально, ибо при синхронизации он может писать кэш в директорию NFS.
Вынесение композера глобально, решает проблему тем что начинает записывать кэш не в директорию NFS, а глобально.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы