title: Problems with lib-icu dependency when installing Symfony 2.3.x via Composer
body: <p>I've had no problems installing Symfony 2.2.x using Composer, I've always just copied the stable version at <a href="http://symfony.com/download">http://symfony.com/download</a>.</p>
  
  <pre><code>composer create-project symfony/framework-standard-edition myproject/ 2.2.1
  </code></pre>
  
  <p><em>(I have Composer installed globally)</em><br/>
  Curious about 2.3.0-RC1 I figured this would go smoothly:</p>
  
  <pre><code>composer create-project symfony/framework-standard-edition mynewerproject/ 2.3.0-RC1
  </code></pre>
  
  <p>But got shutdown by the following errors:</p>
  
  <pre><code>Your requirements could not be resolved to an installable set of packages.
  
  Problem 1
      - symfony/icu v1.2.0-RC1 requires lib-icu &gt;=4.4 -&gt; 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 &gt;=3.8 -&gt; 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 &gt;=1.0,&lt;2.0 -&gt; satisfiable by symfony/icu[v1.1.0-RC1, v1.2.0-RC1].
      - Installation request for symfony/symfony 2.3.* -&gt; satisfiable by symfony/symfony[v2.3.0-RC1].
  </code></pre>
  
  <p>Do I need to tweak the composer.json file?</p>
  
  <hr>
  
  <h2>Solution Update</h2>
  
  <h3>I was missing the <a href="http://www.php.net/manual/en/intl.installation.php">php intl extension</a> which provides <em>lib-icu</em></h3>
  
  <p>So easy, install and configure the intl extension. As of PHP 5.3 the Intl extension is distributed by default, but some distributions, like MAMP, don't have Intl so you'll need to acquire it. I used <strong>PEAR</strong>:</p>
  
  <p><strong>My steps:</strong></p>
  
  <ul>
  <li>Install the Intl extension (maintained by PECL): <code>$ pear install pecl/intl</code> — you may have to add the pecl channel to pear first.</li>
  <li><strong>If you use MAMP</strong> and have never worked with pear/pecl check <a href="http://www.lullabot.com/blog/articles/installing-php-pear-and-pecl-extensions-mamp-mac-os-x-107-lion">lullabot's helpful blog post</a>; MAMP doesn't ship with the php source, so you have to <a href="http://php.net/releases/index.php">download the source for your php version</a> and move the source into <code>/Applications/MAMP/bin/php/php[version]/include/php</code> (as covered in the blog post)</li>
  <li>PEAR couldn't find my php.ini, so I had to manually add <code>extension=intl.so</code> to php.ini. In MAMP you can edit php.ini easily by going to File > Edit Template > php.[version].ini</li>
  </ul>
  
  <p><strong>Command Line:</strong></p>
  
  <ul>
  <li>When using Composer or Symfony's Console CLI you'll also need Intl and since the <code>php</code> CLI usually uses a different <code>php.ini</code> you'll want to add the extension directive there too. To find your CLI's php.ini simply do <code>$ php -i |grep php\.ini</code> to discover the file path and add <code>extension=intl.so</code> to that php.ini as well.</li>
  <li>To check if Intl is installed you can do <code>$ php -m</code> to check available modules.</li>
  </ul>