簡體   English   中英

Zend Framework Composer包

[英]Zend Framework Composer Packages

我想將依賴zendframework/zend-db添加到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包。

知道為什么嗎?

正如http://packages.zendframework.com/#composer中所解釋的那樣,ZF2現在提供了一個包含所有模塊的編輯器存儲庫。

將回購添加到您的包:

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

從這里你可以單獨添加包:

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

你只需要指定你想要的包,如果它們有依賴關系,它們將由compser解析。

雖然這似乎不起作用...

這是來自zend github中zend-db的composer.json 根據該文件,zend-db沒有任何依賴項。

這可能是因為你試圖從dev-master下載一個包,並且dev-master的composer.json中存在一個不匹配的事實。

我建議你將所需版本更改為2.0。*並再試一次。


此外,盡管Zend Framework是松散耦合的,但在舊版本的框架中,依賴關系並不明確。

例如,通過從ZEND 1.9快速掃描zend_db的源代碼,我發現它至少取決於以下包:

  • 調節器
  • 配置
  • 過濾
  • JSON
  • 加載器(用於自動加載,我認為由於作曲家自動加載器可能沒有必要)
  • 烏里
  • 視圖
  • 磷火

這些包可能具有其他依賴性,因此下載大小。 無論如何,正如King所解釋的那樣,Zend Framework 2.0與1.9版不同,這可能不適用於2.0

嘗試檢查一些包是否在其依賴項中有一些php擴展。 我曾嘗試安裝zend-http軟件包並遇到同樣的問題。 在這里我發現了安裝php_intl擴展名的建議,因為它是zend-validate所需的 - zend-http包的subdependancy。 一旦我將此擴展添加到php.ini - 問題就解決了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM