为什么Composer下载了Zend Framework 2,即使它已经下载了?

时间:2014-02-28 12:19:57

标签: php zend-framework2 composer-php

首先,我已经在php.ini的include_path中安装并配置了zend framework 2。但是当我使用composer install安装zend框架框架应用程序时,它会执行一些过程,然后再将整个zend框架2下载到'vendor'目录(在我的应用程序目录中自动创建)。      请帮助我,为什么composer再次下载并安装整个框架以及为什么它不使用已安装的副本?

2 个答案:

答案 0 :(得分:3)

简短的回答是,composer旨在在每个应用程序级别而不是全局级别上安装依赖项。因此,composer.json文件中指定的所有依赖项都将被提取到项目的供应商文件夹中。即使您碰巧在系统上全局安装了某个依赖项,也会发生这种情况。

答案 1 :(得分:0)

Composer不会查看您的环境 - 它会查看程序包指定的依赖项。

但是,您可以控制如何满足这些依赖性。

因此,您需要一种方法来向作曲家证明正在满足依赖性。

例如 - 如果使用PEAR安装Zend - 您可以告诉Composer查找pear包而不是下载它。

e.g。

{
  "repositories": [
    {
        "type": "pear",
        "url": "http://pear2.php.net"
    }
  ],
  "require": {
      "zend/zend": "*",
  }
}