2012-07-31 10 views
12

würde Ich mag Abhängigkeit zendframework/zend-db Paket hinzuzufügen, so dass ich es zu meinem composer.json:Zend Framework Composer Pakete

"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" 
} 

Das Problem ist, dass Komponist gesamtes zendframework/zendframework Paket installiert.

Irgendeine Idee warum?

Antwort

2

Hier ist die composer.json von zend-db im Zend GitHub. Laut der Datei hat zend-db keine Abhängigkeiten.

Das kann daran liegen, dass Sie versuchen, ein Paket von dev-master herunterzuladen, und es gibt ein Missmatch in der composer.json des dev-master.

Ich würde vorschlagen, dass Sie die erforderliche Version zu etwas wie 2.0 ändern. * Und versuchen Sie es erneut.


Auch Obwohl Zend Framework lose gekoppelt, in den älteren Versionen des Frameworks waren die Abhängigkeiten nicht explizit.

beispielsweise mit einem Schnelldurchlauf über den Quellcode Zend_Db von ZEND 1,9, fand ich, dass es abhängig ist, zumindest von den folgenden Paketen:

  • Regler
  • Config
  • Filter
  • Json
  • Loader (für das automatische Laden, rechne ich dies aufgrund Komponist Autoloader nicht notwendig sein könnte)
  • Uri
  • Ansicht
  • Wildfire

Diese Pakete könnten auch andere Abhängigkeiten haben, damit die Download-Größe. Unabhängig davon, wie King erklärte, unterscheidet sich Zend Framework 2.0 von Version 1.9 und ist möglicherweise nicht anwendbar auf 2.0

+2

Soweit ich weiß ist nur ZF2 via Composer verfügbar und die db-Komponente wurde neu geschrieben, somit sind die Abhängigkeiten des 1.9 unwichtig. Und (in Bezug auf Ihre Bearbeitung): Die verlinkte 'composer.json' setzt die (self.) Version auf' 2.0. * '(Siehe' branch_alias'-Anweisung unten) – KingCrunch

11

wie hier erläutert. http://packages.zendframework.com/#composer ZF2 bietet jetzt ein Composer-Repository mit allen Modulen.

den Repo Sie Paket hinzufügen:

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

Sie nur die Pakete, die Sie angeben müssen wollen, wenn sie Abhängigkeiten:

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

und von hier auf Sie Pakete einzeln hinzufügen Sie werden von Compser gelöst werden.

allthough dies scheint nicht atm zu arbeiten ...

+0

Das ist eigentlich die richtige Antwort – Fatmuemoo

+0

@ nicky- de-maeyer In der Tat. Ich habe das Repo in meiner JSON-Datei und habe nur zend-db hinzugefügt, aber das ganze Framework wird eingezogen. Hast du das gemeint, als du gesagt hast, dass es momentan nicht funktioniert? – Leirith

+0

Ich bestätige. Das funktioniert nicht. – Goran

0

versuchen, wenn einige Pakete einige PHP-Erweiterungen in ihren Abhängigkeiten zu überprüfen. Ich habe versucht, Zend-http-Pakete zu installieren und habe das gleiche Problem. Here Ich habe einen Vorschlag zur Installation der php_intl-Erweiterung gefunden, weil sie von zend-validate - subdependancy des zend-http-Pakets benötigt wird. Sobald ich diese Erweiterung zur php.ini hinzugefügt habe - Problem wurde gelöst.