2012-07-31 149 views
12

我想补充的依赖关系zendframework/zend-db包,所以我把它添加到我的composer.json:Zend框架作曲家包

"repositories": [ 
    { 
     "type": "composer", 
     "url": "http://packages.zendframework.com/" 
    } 
], 
"require": { 
    "php": ">=5.3.2", 

    "symfony/class-loader": "dev-master", 
    "symfony/console":  "dev-master", 
    "symfony/filesystem": "dev-master", 
    "symfony/finder":  "dev-master", 
    "symfony/locale":  "dev-master", 
    "symfony/yaml":   "dev-master", 
    "doctrine/dbal":   "dev-master", 
    "zendframework/zend-db": "dev-master" 
} 

的问题是,作曲家整个安装包zendframework/zendframework

任何想法为什么?

回答

2

这是来自zend-github中zend-db的composer.json。根据该文件,zend-db没有任何依赖关系。

这可能是由于您试图从dev-master下载软件包并且dev-master的composer.json中存在不匹配。

我建议您将所需版本更改为类似2.0。*的格式,然后重试。


此外,虽然Zend框架是松散耦合的,在旧版本的框架的依赖性并不明确。

例如,从ZEND 1.9快速扫过Zend_Db的源代码,我发现,这取决于,至少在以下软件包:

  • 控制器
  • 配置
  • 过滤器
  • 的Json
  • 加载器(用于自动加载,我想这可能不是必要的,因为作曲家自动加载磁带机)
  • 乌里
  • 查看
  • 野火

这些软件包可能有其他的依赖关系,因此下载大小。无论如何,正如King解释的那样,Zend Framework 2.0与版本1.9不同,也许这不适用于2.0

+2

据我所知,只有ZF2可以通过作曲者使用,并且数据库组件被重写,因此1.9的依赖关系并不重要。 (关于你的编辑):链接的'composer.json'设置(self。)版本为'2.0。*'(参见底部的'branch_alias'-指令) – KingCrunch 2012-08-01 09:38:04

11

如此处所述http://packages.zendframework.com/#composer ZF2现在提供了一个包含所有模块的composer存储库。

到回购添加到您封装:

"repositories": [ 
    { 
     "type": "composer", 
     "url": "http://packages.zendframework.com/" 
    } 
], 

,从这里你可以seperately添加软件包:

"require": { 
    "zendframework/zend-config": "2.0.*", 
    "zendframework/zend-http": "2.0.*" 
}, 

你只需要指定你所需要的软件包,如果他们有依赖关系他们将由压缩机解决。

allthough这似乎并没有在ATM工作...

+0

这实际上是正确答案 – Fatmuemoo 2012-10-10 22:35:21

+0

@ nicky- de-maeyer 确实。我在我的json文件中有回购,并且只添加了zend-db,但是整个框架正在被拉入。当你说它现在不工作时,这就是你的意思吗? – Leirith 2013-01-03 02:38:09

+0

我确认。这不起作用。 – Goran 2013-11-05 13:32:01

0

尝试检查,如果有些软件包在它们的依赖一些PHP扩展。我试图安装zend-http软件包并且有相同的问题。 Here我发现建议安装php_intl扩展名,因为它是zend-validate - zend-http软件包的子版本所必需的。一旦我将这个扩展添加到php.ini中 - 问题就解决了。