Установка¶
Требования¶
- PHP 8.4 или выше
- Composer (любая современная версия)
Подсказка
Не уверены, какая версия PHP у вас установлена? Выполните php -v в терминале.
Composer (рекомендуется)¶
Установите Qualimetrix как dev-зависимость в вашем проекте:
После установки бинарный файл qmx доступен по пути:
PHAR¶
Автономный архив, который запускается без добавления Qualimetrix в зависимости проекта. Скачайте
qmx.phar из последнего релиза,
сделайте его исполняемым и запустите:
Сохраняйте суффикс .phar
Параллельный анализ копирует весь архив во временный каталог при каждом запуске, если файл, из
которого он работает, называется не *.phar. Переименование в qmx стоит нескольких мегабайт
копирования на каждый запуск.
Примечания для PHAR:
- HTML-отчёты используют
nameизcomposer.jsonанализируемого проекта, а если его нет — имя каталога проекта. Передайте--format-opt=project-name=your/project, чтобы переопределить метку. - Релизы, выпущенные до появления этой возможности, не несут ассета
qmx.phar; первый, который его несёт, — тот, в чьей записи changelog эта возможность объявлена.
Сборка своими руками
Из клона этого репозитория composer phar пишет build/qmx.phar. Команда скачивает свой
инструмент сборки с GitHub, поэтому ей нужен GitHub CLI в PATH.
Docker¶
Запускайте Qualimetrix в контейнере без локальной установки PHP:
Эта команда монтирует текущую директорию в контейнер и анализирует папку src/. В образе задано XDG_CACHE_HOME=/cache. Без тома /cache AST-записи исчезнут вместе с контейнером. Подключайте постоянный том отдельно для каждого uid; том другого владельца отключает кэш по умолчанию с предупреждением. Храните его вне /app. Для запусков с --user $(id -u) используйте отдельный том того же uid.
Вы можете передавать любые параметры после check:
# Вывод в формате JSON
docker run --rm -v $(pwd):/app qmx check src/ --format=json
# С базовой линией (baseline)
docker run --rm -v $(pwd):/app qmx check src/ --baseline=baseline.json
Проверка установки¶
Вы должны увидеть вывод вида:
Что дальше?¶
Перейдите к руководству Быстрый старт, чтобы запустить первый анализ и настроить интеграцию с вашим рабочим процессом.