我已经通过Composer将php aws-sdk添加到我的应用程序中。它还下载了 - 作为aws-sdk的依赖项 - 两个模块:Guzzle和Symfony事件调度器。
当我提交并将更改推送到我的存储库时,唯一添加的模块是 aws-sdk,其他 2 个模块是"未跟踪的文件"。
如何将模块添加到存储库?
如果我现在推送到 aws,则不会添加模块,对吗?另一位开发人员同步了我的更改,并且在其本地应用程序已损坏 - 因为两个必需的模块......
谢谢。
Composer 建议对 composer.json
和 composer.lock
文件进行版本控制,但不对 vendor/
目录进行版本控制,因为 Composer 本身通过 composer install
和 composer update
命令创建和管理该目录。
Elastic Beanstalk 会在您部署时为您构建应用程序,包括安装其依赖项。它的大多数竞争对手也是如此。
自 2012 年 12 月起,EB 开箱即用地支持 Composer。不幸的是,似乎没有太多关于其工作原理的文档,但其他 PaaS 提供商通常从存储库的根目录中读取依赖项文件。
OP 在上面的评论中确认,将composer.json
和composer.lock
文件放在存储库根目录中并从版本控制中删除vendor/
目录会导致应用程序在 EB 上正确构建。