Команды composer’a следует запускать внутри каталога плагина.
/plugin-root
├── /assets
├── /classes
├── /components
├── /controllers
├── /docs
├── /models
├── /updates
├── composer.json <= вот этот товарищ
├── LICENSE
├── Plugin.php
└── README.md
Загрузка зависимостей начинается с корневого composer.json
файла проекта, а потом загружаются composer.json
файлы плагинов. Другими словами, плагин может добавить новый пакет и не может переопределить пакет корневого composer файла. Эта логика обрабатывается классом ComposerManager .
Примеры composer.json
файлов официальных плагинов:
Когда плагин публикуется в OctoberCMS Marketplace, сервер самостоятельно создаёт /vendor
папку, поэтому нет необходимости её публиковать, если вы планируете распространять плагин.