Des problèmes avec les lib-soins intensifs de dépendances lors de l'installation de Symfony 2.3.x par Compositeur

Je n'ai eu aucun problèmes pour l'installation de Symfony 2.2.x à l'aide de Compositeur, j'ai toujours juste copié la version stable de http://symfony.com/download.

composer create-project symfony/framework-standard-edition myproject/ 2.2.1

(J'ai Compositeur installé à l'échelle mondiale)

Curieux de savoir 2.3.0-RC1 j'ai pensé que ce serait aller en douceur:

composer create-project symfony/framework-standard-edition mynewerproject/ 2.3.0-RC1

Mais a obtenu d'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 besoin d'ajuster le compositeur.fichier json?


Solution De Mise À Jour

J'ai été absent de la extension php intl qui fournit lib-soins intensifs

Si facile, d'installer et de configurer l'extension intl. Depuis PHP 5.3 l'extension Intl est distribué par défaut, mais certaines distributions, comme MAMP, n'ont pas Intl de sorte que vous aurez besoin de l'acquérir. J'ai utilisé POIRE:

Mon étapes:

  • Installer l'extension Intl (maintenu par PECL): $ pear install pecl/intl — vous peut-être ajouter le pecl canal de poire premier.
  • Si vous utilisez MAMP et n'ont jamais travaillé avec de la poire/pecl vérifier lullabot est utile post de blog; MAMP n'a pas été livré avec les sources de php, de sorte que vous avez à télécharger de la source de votre version de php et le déplacement de la source dans /Applications/MAMP/bin/php/php[version]/include/php (comme expliqué dans le billet de blog)
  • POIRE ne pouvais pas trouver mon php.ini, j'ai donc dû ajouter manuellement extension=intl.so de php.ini. Dans MAMP vous pouvez modifier php.ini par Fichier > Modifier le Template > php.[version].ini

Ligne De Commande:

  • Lors de l'utilisation de Compositeur ou de Symfony Console CLI vous aurez également besoin Intl et depuis le php CLI utilise généralement un autre php.ini vous aurez envie d'ajouter l'extension de la directive il y a trop. Pour trouver votre CLI de php.ini tout simplement $ php -i |grep php\.ini à découvrir le chemin du fichier et ajouter extension=intl.so pour que php.ini ainsi.
  • Pour vérifier si Intl est installé, vous pouvez le faire $ php -m de vérifier la liste des modules disponibles.
  • quel système d'exploitation utilisez-vous? ensuite, je peux fournir des informations sur la façon de mettre à jour votre extension intl.
  • N'utilisez pas de pecl/intl pour PHP 5.2.x compatibilité. Depuis PHP 5.3, Intl est une extension du coeur.
  • il semble que le courant MAMP distribution ne contient pas de bundle Intl qui ne laisse que la possibilité d'utiliser PECL pour construire php.net/manual/en/intl.installation.php
InformationsquelleAutor Mark Fox | 2013-05-25