Je n'ai eu aucun problème pour installer Symfony 2.2.x en utilisant Composer, j'ai toujours copié la version stable à http://symfony.com/download .
composer create-project symfony/framework-standard-edition myproject/ 2.2.1
(J'ai installé Composer dans le monde entier)
Curieux de savoir 2.3.0-RC1, j'ai pensé que cela se passerait bien:
composer create-project symfony/framework-standard-edition mynewerproject/ 2.3.0-RC1
Mais j'ai été arrêté par les erreurs suivantes:
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].
Dois-je modifier le fichier composer.json?
Mise à jour de la solution
Il me manquait l' extension php intl qui fournit lib-icu
Tellement facile, installez et configurez l'extension intl. Depuis PHP 5.3, l'extension Intl est distribuée par défaut, mais certaines distributions, comme MAMP, n'ont pas Intl, vous devrez donc l'acquérir. J'ai utilisé PEAR :
Mes pas:
- Installez l'extension Intl (maintenue par PECL):
$ pear install pecl/intl
- vous devrez peut-être ajouter le canal pecl à pear en premier. - Si vous utilisez MAMP et n'avez jamais travaillé avec pear / pecl, consultez le blog utile de Lullabot ; MAMP n'est pas livré avec la source php, vous devez donc télécharger la source de votre version php et déplacer la source dans
/Applications/MAMP/bin/php/php[version]/include/php
(comme indiqué dans l'article du blog) - PEAR n'a pas pu trouver mon php.ini, j'ai donc dû l'ajouter manuellement
extension=intl.so
à php.ini. Dans MAMP, vous pouvez facilement modifier php.ini en allant dans Fichier> Modifier le modèle> php. [Version] .ini
Ligne de commande:
- Lorsque vous utilisez Composer ou la console CLI de Symfony, vous aurez également besoin d'Intl et comme la
php
CLI utilise généralement un autre,php.ini
vous voudrez également y ajouter la directive d'extension. Pour trouver le php.ini de votre CLI, il vous suffit$ php -i |grep php\.ini
de découvrir le chemin du fichier et d'ajouter égalementextension=intl.so
à ce php.ini. - Pour vérifier si Intl est installé, vous pouvez
$ php -m
vérifier les modules disponibles.