Zend框架作曲家包(Zend Framework Composer Packages)

2019-07-30 17:56发布

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

"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包。

任何想法,为什么?

Answer 1:

这里的composer.json从zend的-DB在Zend github上。 根据该文件,Zend的-DB没有任何相关性。

这可能是由于这样的事实,你想下载从开发主包和有在开发主的composer.json一个missmatch。

我建议你所需的版本更改为类似2.0。*,然后再试一次。


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

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

  • 调节器
  • 配置
  • 过滤
  • JSON
  • 装载机(用于自动加载,我想这可能不是必要的,因为作曲家自动加载)
  • 乌里
  • 视图
  • 磷火

这些软件包可能有其他的依赖关系,因此下载大小。 无论如何,国王解释说,Zend框架2.0是从1.9版本不同,也许这并不适用于2.0



Answer 2:

这里解释http://packages.zendframework.com/#composer ZF2现在提供的所有模块作曲家库。

以回购添加到您封装:

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

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

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

你只需要指定你所需要的软件包,如果他们有依赖,他们将通过compser解决。

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



Answer 3:

尝试检查,如果有些软件包在它们的依赖一些PHP扩展。 我试图安装的Zend-HTTP包和有同样的问题。 在这里我找到建议安装php_intl延伸,因为它已经被Zend -验证所需-在Zend-HTTP包subdependancy。 有一次,我已经添加了此扩展的php.ini - 问题得到解决。



文章来源: Zend Framework Composer Packages