Проблемы с зависимостью lib-icu при установке Symfony 2.3.x через Composer
У меня не было проблем с установкой Symfony 2.2.x с помощью Composer, я всегда просто копировал стабильную версию по адресуhttp://symfony.com/download.
composer create-project symfony/framework-standard-edition myproject/ 2.2.1
(У меня Composer установлен глобально)
С любопытством по поводу 2.3.0-RC1 я подумал, что все пройдет гладко:
composer create-project symfony/framework-standard-edition mynewerproject/ 2.3.0-RC1
Но получил отключение из-за следующих ошибок:
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].
Нужно ли настраивать файл composer.json?
Обновление решенияЯ скучал порасширение php intl которая обеспечиваетLib-СИСТак просто, установите и настройте расширение intl. Начиная с PHP 5.3 расширение Intl распространяется по умолчанию, но некоторые дистрибутивы, такие как MAMP, не имеют Intl, поэтому вам необходимо его приобрести. я использовалГРУША:
Мои шаги:
Установите расширение Intl (поддерживается PECL):$ pear install pecl/intl
- вам, возможно, придется сначала добавить канал pecl для груши.Если вы используете MAMP и никогда не работал с грушей / проверкойполезная запись в блоге колыбельной; MAMP не поставляется с источником php, поэтому вы должныскачать исходник для вашей версии php и переместить источник в/Applications/MAMP/bin/php/php[version]/include/php
(как описано в сообщении в блоге)PEAR не смог найти мой php.ini, поэтому мне пришлось добавить вручнуюextension=intl.so
на php.ini. В MAMP вы можете легко редактировать php.ini, перейдя в File> Edit Template> php. [Version] .iniКомандная строка:
При использовании Composer или консоли CLI Symfony вам также понадобится Intl, и посколькуphp
CLI обычно использует другойphp.ini
Вы также захотите добавить туда директиву расширения. Чтобы найти php.ini вашего CLI, просто сделайте$ php -i |grep php\.ini
найти путь к файлу и добавитьextension=intl.so
к тому же php.ini.Чтобы проверить, установлен ли Intl, вы можете сделать$ php -m
проверить доступные модули.