Magento2:如何在自定义模块中通过composer.json包含第三个pary模块


8

我创建了一个自定义模块,该模块依赖于第三方模块(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文件时,在我的自定义模块中创建了create vendor文件夹,并下载了“ tecnickcom / tcpdf”库,但该文件应该位于供应商的根文件夹中。我怎么能做到这一点。


您在错误的位置运行作曲家更新。您需要从magento根目录而不是从模块内部运行它。
Smartie

我也尝试过此操作,但未得到任何结果
Yogesh Karodiya

自定义模块的主项目composer.json文件中是否存在依赖项?
Smartie

不,但是我们如何将其添加到root composer.json
Yogesh Karodiya,2016年

Answers:


7

您只应在“根项目”中运行composer安装或composer更新。您的情况是Magento安装。但是由于您似乎没有在composer中添加自定义模块,而是将其作为根项目的一部分进行开发,因此它自己的composer.json根本没有任何作用。

因此,您必须自己添加需求。在Magento根目录中运行此命令:

composer require tecnickcom/tcpdf

请注意,如果您发布模块,而其他人通过composer安装,则不再需要此步骤。


我想使用不通过composer安装的DOMPDF库。让我知道设置扩展程序的最佳方法。
Hitesh Vaghasiya

1
@HiteshVaghasiya请为此发布一个新问题,但请先使用搜索。我敢肯定,关于没有作曲家的第三方图书馆已经存在一个问题
Fabian Schmengler
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.