【发布时间】:2015-06-19 03:08:43
【问题描述】:
我正在为 ZF2 开发模块,各个模块都托管在自己的存储库空间中,这是我的结构
module
|__ User
|___ config
|___ src
|___ Module.php
|___ composer.json
|___ .git
__ Theme
|___ config
|___ src
|___ Module.php
|___ composer.json
|___ .git
User 模块托管在bitbucket.org/example/user,Theme 托管在bitbucket.org/example/theme 等等。
用户模块与DoctrineORMModule有依赖关系,当我使用composer.json包含依赖关系时,它会在模块内创建供应商目录并安装文件,这是在用户模块的composer.json中添加依赖关系后的目录结构.
module
|__ User
|___ config
|___ src
|___ vendor
|___ Module.php
|___ composer.json
|___ .git
__ Theme
|___ config
|___ src
|___ Module.php
|___ composer.json
|___ .git
如果您注意到它在用户模块中添加了供应商目录,那么使用这种方法进行开发是否正常?我期望将依赖模块安装/复制到根供应商目录而不是模块目录中,这种方法对我来说的问题是我不希望供应商在模块目录中,这样如果我有共享依赖项,它将重复在多个目录中?在 ZF2 中开发多个模块的最佳方式是什么?
谢谢。
【问题讨论】:
-
这不应该发生。运行 composer install 命令时,您在哪个文件夹中?
-
在模块/用户目录中。
-
那就是问题所在。仅从项目根目录运行 composer 命令。
-
我得到了每个模块的 composer.json,如果我从 root 运行它,composer 如何安装在模块 composer.json 中指定的依赖项?
-
你也应该使用 composer 安装你的模块,然后 composer 会将它们和它们的依赖项放在 vendor 中。
标签: git zend-framework2 composer-php bitbucket