OctoberCMS plugin и Composer

Команды 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 папку, поэтому нет необходимости её публиковать, если вы планируете распространять плагин.