Eu criei um módulo personalizado, este módulo depende do módulo de terceiros (tecnickcom / tcpdf), adicionei esta biblioteca no meu arquivo composer.json do módulo personalizado
{
"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\\": ""
}
}
}
Quando executo esse arquivo composer.json, ele cria a pasta do fornecedor no meu módulo personalizado e baixa a biblioteca "tecnickcom / tcpdf", mas deve estar na pasta do fornecedor raiz. Como posso conseguir isso.
Respostas:
Você só deve executar a instalação ou atualização do compositor no "projeto raiz". No seu caso, esta é a instalação do Magento. Mas como parece que você não adicionou seu módulo personalizado ao compositor, mas ao desenvolvê-lo como parte do projeto raiz, seu próprio compositer.json não tem efeito algum.
Portanto, você deve adicionar o requisito por conta própria. Execute isso no diretório raiz do Magento:
Observe que se você publicar seu módulo e outros o instalarem através do compositor, essa etapa não será mais necessária.
fonte