Я создал пользовательский модуль, этот модуль зависит от третьего модуля (tecnickcom / tcpdf), я добавил эту библиотеку в свой файл пользовательского модуля composer.json
{
"name": "packagename/mymodule",
"description": "N/A",
"require": {
"php": "~5.5.0|~5.6.0",
"magento/magento-composer-installer": "*",
"tecnickcom/tcpdf":"*"
},
"type": "magento2-module",
"version": "2.0.0",
"license": [
"GPL-3.0"
],
"autoload": {
"files": [
"registration.php"
],
"psr-4": {
"Packagename\\Mymodule\\": ""
}
}
}
когда я запускаю этот файл composer.json, он создает папку vendor в моем пользовательском модуле и загружает библиотеку «tecnickcom / tcpdf», но она должна находиться в корневой папке vendor. Как я могу достичь этого.
Ответы:
Вам следует запускать только установку composer или обновление composer в «корневом проекте». В вашем случае это установка Magento. Но поскольку кажется, что вы не добавили свой пользовательский модуль с помощью composer, а разработали его как часть корневого проекта, его собственный composer.json не имеет никакого эффекта.
Таким образом, вы должны добавить требование самостоятельно. Запустите это в корневом каталоге Magento:
Обратите внимание, что если вы публикуете свой модуль, а другие устанавливают его через композитор, этот шаг больше не требуется.
источник