下载php composer依赖项的更好方法

suj*_*isd 6 php build-process composer-php

我一直在JAVA中使用maven并开始使用PHP Maven,最近我改用了作曲家.

我的项目是使用Zend Framework 2,团队只检查应用程序代码而不是供应商目录中的任何内容.这样做是为了避免冲突,而不是让SVN下的库.

现在,每当开发人员设置他或她的新环境时,我们都会发现,作曲家会从互联网中提取依赖关系.这需要相当长的时间.

有没有更好的想法/方法来加快速度或以不同的方式处理项目以避免这个问题?

maven使用可以缓存下载的maven代理服务器,并且可以再次在网络中使用,但我们是否有任何解决方案来处理这样的问题?

Ale*_*kov 1

在 PHP 中,有一个现有的选项可以在本地运行像 repo 这样的作曲家,它被称为 Satis(它实际上是由 Composer 提供的): https: //github.com/composer/satis

因此,您可以在服务器上本地运行它,并指示您的 Composer 将其用作默认的 Composer 存储库,Satis 确保所有已安装的软件包和不同版本都以 ZIP 文件的形式缓存在磁盘上,因此与始终从网站下载相比,可以更快地检索它们互联网。

你可以这样做:

{
    "repositories": [ 
        { 
            "type": "composer", 
            "url": "http://satis.example.org/" 
        }
    ],
    "require": {
        "company/package": "1.2.0",
        "company/package2": "1.5.2",
        "company/package3": "dev-master"
    }
}
Run Code Online (Sandbox Code Playgroud)

这还允许您拥有私有包和库,而无需在 GitHub 上公开它们。

另一个巨大的优势是,当 GitHub 由于某种原因发生故障时,您仍然可以部署,因为所有依赖项都缓存在本地。这是假设您没有向该版本添加新的、不存在的软件包。