2014-01-15 34 views
0

在我的web应用程序中,我已经使用Composer成功安装了几个PHP Github存储库。我在本地主机上安装的最新版本(使用php composer.phar update blahblah/blahblah)与所有其他版本一样工作良好。然而,当我git push编辑我的应用程序到我的现场,blahblah/blahblah目录是空的。PHP Composer在远程站点上安装了空存储库

我相信这是一个Git问题,我的本地主机有blahblah主回购这是不是与我的远程共享,但我完全困惑,为什么这个特定的存储库不像所有其他的安装那些。据我所知,我没有做任何与Composer或Git push/pull不同的东西,我总是这样做。

想法?

+0

你正在检查你的'vendor /'目录到Git吗?通常我建议跟踪你的'composer.json'和'composer.lock'文件,*忽略*'vendor /',并且在你想要依赖的地方运行Composer。其他开发机器,登台服务器,生产,... – Chris

+0

是啊我的供应商/'目录正在签入。所以你说的是我需要1)从我的本地删除它,2)添加'供应商/'到我的.gitignore 3)检查回来4)在我的远程安装Composer 5)运行本地和远程的作曲家更新 –

+0

您不需要*按照我的方式做事:-)。但是,管理依赖关系(安装,升级,保持版本同步等)是Composer所设计的系统。我将添加一个参考Composer文档的答案。 – Chris

回答

2

我不确定你的情况有什么问题,但是对于它的价值,作曲家文档推荐committing the composer.json and composer.lock filesexcluding the vendor/ directory from version control

然后,在需要依赖关系的其他机器上(例如其他开发机器,分段和生产服务器等),您可以使用use composer install or composer update,让系统保持您的所有依赖项都已同步。

这是使用依赖管理器的主要优点之一:您可以在数据文件中定义项目的依赖关系,并且每个人都可以使用该数据文件来自动安装所有安装的相同版本,而不包括外部库在您的存储库中。

+0

谢谢@Chris。遵循你/作曲家的建议(即我评论中描述的那个人)工作。 –