通过composer install使用PHP构建工具会导致许多依赖项



我正在建立一个持续集成和交付的新系统。

由于PEAR即将对大多数包(如phpunit)进行EOL,我切换到composer,这似乎是一个好主意,因为我需要它的项目。

所以为了测试我的集成服务器,我从一个非常简单的composer.json开始:
{
    "require-dev": {
        "phpunit/phpunit": "4.1.*",
        "phpmd/phpmd" : "2.0.*",
        "pdepend/pdepend" : "2.0.0",
        "zerkalica/php-code-browser": "dev-master",
        "squizlabs/php_codesniffer": "1.*",
        "sebastian/phpcpd": "*",
        "phpdocumentor/phpdocumentor": "dev-master"
    }
}

这导致230MB供应商目录

查看已安装包的完整列表:https://gist.github.com/rufinus/14b271f61e143364452f

这是预期的结果吗?

我应该切换到PHAR文件并将它们存储在项目内的bin目录中吗?

最佳实践是什么?(没有梨)

您可以配置composer来下载每个包,而不是克隆它。这将节省一些空间和时间。

{
    "require-dev": {
        "phpunit/phpunit": "4.1.*",
        "phpmd/phpmd" : "2.0.*",
        "pdepend/pdepend" : "2.0.0",
        "zerkalica/php-code-browser": "dev-master",
        "squizlabs/php_codesniffer": "1.*",
        "sebastian/phpcpd": "*",
        "phpdocumentor/phpdocumentor": "dev-master"
    },
    "config": {
        "preferred-install": "dist"
    }
}

要测试,请移除vendor, composer.lock并再次运行composer install。现在它应该下载每个包,而不是克隆它。

作为旁注。尝试使用特定版本而不是"*"或"dev-master"。例如phpcpd,我确信它经常被标记为

相关内容

  • 没有找到相关文章

最新更新