2012-07-31 24 views
12

me gustaría añadir a la dependencia zendframework/zend-db paquete, por lo que he añadido a mi composer.json:Zend Framework Paquetes Compositor

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

El problema es que el compositor se instala el paquete entero zendframework/zendframework.

¿Alguna idea de por qué?

Respuesta

2

Aquí está el composer.json de zend-db en el zend github. Según el archivo, zend-db no tiene ninguna dependencia.

Esto puede deberse al hecho de que está tratando de descargar un paquete de dev-master y hay una falta de correspondencia en el composer.json del dev-master.

Le sugiero que cambie la versión requerida a algo así como 2.0. * Y vuelva a intentarlo.


También, aunque Zend Framework se acopla sin apretar, en las versiones anteriores del marco de las dependencias no eran explícitas.

Por ejemplo, con un barrido rápido sobre el código fuente de Zend_Db de ZEND 1,9, he encontrado que depende, al menos, en los siguientes paquetes:

  • Controlador
  • Config
  • Filtrar
  • JSON
  • Loader (para carga automática, creo que esto podría no ser necesario debido al cargador automático compositor)
  • Uri
  • Ver
  • Wildfire

Estos paquetes pueden tener otras dependencias, por lo tanto el tamaño de la descarga. De todos modos, como King explicó, Zend Framework 2.0 es diferente de la versión 1.9 y quizás esto no es aplicable a 2.0

+2

Por lo que sé, solo ZF2 está disponible a través de compositor y el componente db se reescribió, por lo que las dependencias de la 1.9 no son importantes. Y (con respecto a su edición): el 'composer.json' vinculado establece la versión (propia) en' 2.0. * '(Consulte la directiva' branch_alias' en la parte inferior) – KingCrunch

11

como se explica aquí http://packages.zendframework.com/#composer ZF2 ahora proporciona un repositorio de compositores con todos los módulos.

para añadir el repositorio para que el paquete:

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

ya partir de aquí se puede agregar paquetes por separado:

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

sólo es necesario especificar los paquetes que desea, si tienen dependencias ellos serán resueltos por compser.

acabase esto no parece trabajar atm ...

+0

Esta es en realidad la respuesta correcta – Fatmuemoo

+0

@ nicky- de-maeyer De hecho. Tengo el repositorio en mi archivo json y solo he añadido zend-db pero todo el framework está siendo atraído. ¿Eso es lo que querías decir cuando dijiste que no funciona en este momento? – Leirith

+0

Confirmo. Esto no funciona. – Goran

0

intenta comprobar si algunos paquetes tienen algunas extensiones PHP en sus dependencias. He intentado instalar paquetes zend-http y tengo el mismo problema. Here He encontrado sugerencias para instalar la extensión php_intl porque es requerida por zend-validate - subdependencia del paquete zend-http. Una vez que agregué esta extensión a php.ini, el problema fue resuelto.