Php 强制composer.json导出供应商存储库而不是克隆

Php 强制composer.json导出供应商存储库而不是克隆,php,git,symfony,Php,Git,Symfony,我正在使用Symfony2进行PHP开发,它是一个很棒的框架 我现在用它来制作新的网络应用程序的实体模板。(建立在symfony2之上的公司框架) 我对供应商库有问题。我使用git托管我的项目,当我在composer.json中输入依赖项并调用update时,它克隆了整个存储库,以及每个库的整个历史。更糟糕的是,这些存储库是我的主存储库的子存储库,这些库中的文件不会提交。尝试在另一台计算机上克隆项目后,由于缺少供应商库,该项目将无法工作。我只是想强制composer导出存储库的内容,而不是克隆它

我正在使用Symfony2进行PHP开发,它是一个很棒的框架

我现在用它来制作新的网络应用程序的实体模板。(建立在symfony2之上的公司框架)

我对供应商库有问题。我使用git托管我的项目,当我在composer.json中输入依赖项并调用update时,它克隆了整个存储库,以及每个库的整个历史。更糟糕的是,这些存储库是我的主存储库的子存储库,这些库中的文件不会提交。尝试在另一台计算机上克隆项目后,由于缺少供应商库,该项目将无法工作。我只是想强制composer导出存储库的内容,而不是克隆它。我想要纯文件,而不是存储库


我当然可以永远使用composer.json,但我想让我的样板文件功能化,即使github会停止工作。另一个原因是,我在两台独立的机器上编辑这个项目,我需要存储库中项目中的所有文件,每天调用2次composer.json更新,每次等待5分钟并不好笑

您正在寻找的可能是
——preference dist
选项,该选项将下载一个zip(如果可用)而不是存储库,然后您可以提交该存储库。

在存储库中,您正在提交composer.json文件,该文件将告诉编写器安装所需的依赖项。无需提交vendor/*文件夹并扩大存储库大小。更简洁的方法:所有签出存储库的开发人员都应该运行composer update来下载丢失的文件。部署脚本应该在部署后运行composer更新


请阅读:

不建议提交/vendors文件夹。如果添加子模块,则不会提交文件,而只提交对提交的引用。svn也一样:外部。这正是我不想做的。我想要纯拷贝,而不是存储库或引用,不管后果如何。如何强迫作曲家这样做?也许git上的一些选项可以帮助我实现这一点?您是否检查了文档的这部分:?您可以在运行composer时使用
--prefere source
,这会强制composer下载依赖项并提取它们,而不是使用git。请看这里: