我创建了自己的包,位于名为
/ECommerce
的根文件夹中。
该目录包含 composer.json
和我的包代码。
当我想向
ECommerce/composer.json
添加一个新包(这是该包正常工作所必需的)时,在调用 $ composer update/install
命令后,该包未安装。
如果我将所需的包添加到根目录
composer.json
,它就会安装。
是否有可能合并这两个composer.json文件,或者我是否必须将composer.json
从根文件夹复制到项目末尾的包文件夹
示例:
Structure: /
- app
- Ecommerce
- ...
- composer.json
- resources
- vendor
- composer.json
- ....
我在电子商务中添加了
composer require nwidart/laravel-modules
,但未安装
如果我在根composer.json中添加它已安装
简单地说,除了来自托管依赖项的文件之外,composer 不支持多个、嵌套或其他
composer.json
文件。
每个项目都有一个
composer.json
,声明该项目的依赖项。
然后每个项目都有自己的
composer.json
文件来声明 他们的依赖关系,并且在执行 update
、install
、require
等时整个事情就解决了
当该项目具有更多 Composer 依赖项时,将包手动安装在单独的目录中是一个坏主意。如果该包实际上是一个 Composer 包并声明了自己的依赖项,则将其安装为项目包 (
require your/package
),并让 Composer 在适当的时候处理依赖项。如果您在 your/package
中添加/更改/删除依赖项,则您 composer update
根项目,然后让 Composer 安装/更改所需的任何其他内容。