setup — Настройка окружения¶
Подготавливает локальное окружение для сборки пакетов без необходимости поднимать сервер и устанавливать MODX. Скачивает ядро MODX 3 и настраивает минимальное окружение.
Использование¶
Что происходит¶
- Скачивается ядро MODX 3 из GitHub (последний релиз) в папку
core/текущей директории. Если ядро уже есть — шаг пропускается - Устанавливаются зависимости MODX через Composer (xPDO и другие библиотеки)
- Создаётся конфигурация для работы standalone-сборщика
- Создаются директории
core/cache/иcore/packages/
Когда нужен setup¶
- Вы разрабатываете пакет локально и хотите собирать transport.zip без развёрнутого MODX
- На машине нет MySQL/MariaDB
- Вы хотите быстро начать без установки MODX
Когда setup не нужен¶
Setup не нужен если у вас есть установленный MODX 3 — Package Builder автоматически найдёт core/config/config.inc.php. Работайте без setup когда:
- Вы хотите тестировать компонент сразу без сборки — команда
elementsдобавит элементы в MODX напрямую - Вы хотите создавать элементы через админку — настройки, TV, меню, а потом извлечь их командой
export - Вы не хотите писать XML-схему вручную — команда
schema-extractсгенерирует её из существующих таблиц в БД - У вас есть отдельный сайт для тестирования чистой установки и удаления пакета —
build --installустановит пакет, а при удалении всё вернётся как было
Сборка на удалённом сервере
Если MODX установлен на удалённом сервере — установите Package Builder на сервере (composer global require shevartv/modx-builder). Команда setup в этом случае не нужна.
Пример¶
mkdir my-project && cd my-project
# Настроить окружение
modxapp setup
# Создать пакет
modxapp create mypackage
# Собрать transport.zip
modxapp build mypackage
Структура после setup¶
my-project/
├── core/ — ядро MODX 3 (скачивается)
│ ├── config/
│ │ └── config.inc.php — конфигурация окружения
│ ├── vendor/ — зависимости MODX (xPDO)
│ ├── cache/
│ ├── packages/ — сюда попадают собранные пакеты
│ └── src/Revolution/ — классы MODX
├── core/components/mypackage/ — исходники пакета (после create)
└── package_builder/packages/ — конфиги сборки (после create)
Подробнее о сценариях: Сценарии работы