У мене не було проблем із встановленням 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-icu
Так легко, встановити та налаштувати розширення intl. Станом на PHP 5.3, розширення Intl поширюється за замовчуванням, але деякі дистрибутиви, як MAMP, не мають Intl, тому вам потрібно буде придбати його. Я використав PEAR :
Мої кроки:
- Встановіть розширення Intl (підтримується PECL):
$ pear install pecl/intl
- можливо, спочатку потрібно додати канал pecl до груші. - Якщо ви використовуєте MAMP і ніколи не працювали з грушею / пеклами, перевірте корисну публікацію в блозі lullabot ; MAMP не постачається з PHP-джерелом, тому вам доведеться завантажити джерело для вашої версії php та перемістити джерело
/Applications/MAMP/bin/php/php[version]/include/php
(як описано в публікації блогу) - PEAR не зміг знайти свій php.ini, тому мені довелося вручну додати
extension=intl.so
до php.ini. У програмі MAMP ви можете легко редагувати php.ini, перейшовши у меню Файл> Редагувати шаблон> php. [Версія] .ini
Командний рядок:
- При використанні композитора CLI або композитора Symfony вам також знадобиться Intl, оскільки
php
CLI зазвичай використовує інше,php.ini
ви також хочете додати директиву про розширення. Щоб знайти php.ini вашого CLI, просто$ php -i |grep php\.ini
знайдіть шлях до файлу та додайтеextension=intl.so
до цього php.ini. - Щоб перевірити, чи встановлено Intl, ви можете
$ php -m
перевірити наявні модулі.