Non ho avuto problemi ad installare Symfony 2.2.x usando Composer, ho sempre copiato la versione stabile su http://symfony.com/download .
composer create-project symfony/framework-standard-edition myproject/ 2.2.1
(Ho Composer installato a livello globale)
Curioso di 2.3.0-RC1, ho pensato che sarebbe andato liscio:
composer create-project symfony/framework-standard-edition mynewerproject/ 2.3.0-RC1
Ma è stato arrestato dai seguenti errori:
Your requirements could not be resolved to an installable set of packages.
Problem 1
- symfony/icu v1.2.0-RC1 requires lib-icu >=4.4 -> the requested linked library icu has the wrong version installed or is missing from your system, make sure to have the extension providing it.
- symfony/icu v1.1.0-RC1 requires lib-icu >=3.8 -> the requested linked library icu has the wrong version installed or is missing from your system, make sure to have the extension providing it.
- symfony/symfony v2.3.0-RC1 requires symfony/icu >=1.0,<2.0 -> satisfiable by symfony/icu[v1.1.0-RC1, v1.2.0-RC1].
- Installation request for symfony/symfony 2.3.* -> satisfiable by symfony/symfony[v2.3.0-RC1].
Devo modificare il file composer.json?
Aggiornamento della soluzione
Mi mancava l' estensione php intl che fornisce lib-icu
Così facile, installa e configura l'estensione intl. A partire da PHP 5.3 l'estensione Intl è distribuita di default, ma alcune distribuzioni, come MAMP, non hanno Intl, quindi dovrai acquisirla. Ho usato PEAR :
I miei passi:
- Installa l'estensione Intl (gestita da PECL):
$ pear install pecl/intl
- potresti dover prima aggiungere il canale pecl a pera. - Se usi MAMP e non hai mai lavorato con pear / pecl controlla l'utile post sul blog di lullabot ; MAMP non viene fornito con il sorgente php, quindi devi scaricare il sorgente per la tua versione php e spostare il sorgente in
/Applications/MAMP/bin/php/php[version]/include/php
(come spiegato nel post del blog) - PEAR non è riuscita a trovare il mio php.ini, quindi ho dovuto aggiungerlo manualmente
extension=intl.so
a php.ini. In MAMP puoi modificare facilmente php.ini andando su File> Modifica modello> php. [Versione] .ini
Riga di comando:
- Quando si usa Composer o la CLI della console di Symfony avrete bisogno anche di Intl e poiché la
php
CLI di solito usa un diversophp.ini
, vorrete aggiungere anche lì la direttiva extension. Per trovare php.ini della tua CLI, devi semplicemente$ php -i |grep php\.ini
scoprire il percorso del file e aggiungerlo ancheextension=intl.so
a php.ini. - Per verificare se Intl è installato puoi fare
$ php -m
per controllare i moduli disponibili.