【问题标题】:PHP Composer installed empty repository on remote sitePHP Composer 在远程站点上安装了空存储库
【发布时间】:2014-02-04 16:24:10
【问题描述】:

在我的网络应用程序中,我使用Composer 成功安装了几个 PHP Github 存储库。我在本地主机上安装的最新一个(使用php composer.phar update blahblah/blahblah)就像所有其他的一样工作得很好。然而,当我 git pushed 我的应用程序到我的实时站点时,blahblah/blahblah 目录是空的。

我相信这是一个 Git 问题,并且我的本地主机有 blahblah 主存储库,它没有与我的远程共享,但我完全困惑为什么这个特定存储库没有像所有其他存储库一样安装.据我所知,我对 Composer 或 Git push/pull 所做的并没有什么不同。

想法?

【问题讨论】:

  • 您是否将您的vendor/ 目录检查到Git 中?通常我建议跟踪您的 composer.jsoncomposer.lock 文件,忽略 vendor/,并在您想要拥有依赖项的任何地方运行 Composer,例如其他开发机器、登台服务器、生产……
  • 是的,我的 vendor/ 目录正在签入。所以你说的是我需要 1)从我的本地删除它,2)将 vendor/ 添加到我的 .gitignore 3)检查回到 4) 在我的遥控器上安装 Composer 5) 在本地和远程运行 composer update
  • 您不需要按照我的方式做事:-)。但是管理依赖项(安装、升级、保持版本同步等)是 Composer 等系统的设计目的。我将添加参考 Composer 文档的答案。

标签: php git github composer-php packagist


【解决方案1】:

我不确定你的情况出了什么问题,但 Composer 文档推荐 committing the composer.json and composer.lock filesexcluding the vendor/ directory from version control

然后,在您需要依赖的其他机器上(例如其他开发机器、登台和生产服务器等),您可以use composer install or composer update 并让系统为您同步所有依赖项。

这是使用依赖管理器的主要好处之一:您可以在数据文件中定义项目的依赖关系,每个人都可以使用该数据文件来自动安装完全相同的版本,而无需在其中包含外部库您的存储库。

【讨论】:

  • 谢谢@Chris。遵循您/作曲家的建议(即我在评论中描述的建议)有效。
猜你喜欢
  • 1970-01-01
  • 2015-03-25
  • 2019-03-21
  • 1970-01-01
  • 2016-09-25
  • 2023-03-16
  • 1970-01-01
  • 2016-07-18
  • 1970-01-01
相关资源
最近更新 更多