Archive for November, 2012

Composer and Git on Windows

I’ve been having some problems downloading packages using Composer. It seems GitHub is having some hickups and it’s returning errors such as:

[Composer\Downloader\TransportException]                                     
  The "http://nodeload.github.com/symfony/Yaml/zipball/v2.1.3" file could not be downloaded (HTTP/1.1 404 Not Found)    

As a workaround you can use the

--prefer-source

flag to tell Composer to download the source code rather than using a bundled package. However, this means that you must have Git on your path, otherwise composer won’t be able to find it.

When I installed git, I chose the option to use the git shell, and as a result it didn’t put it on my path. I could put the cmd folder in the git installation location on the path, but instead of polluting my path, I decided to modify the composer.bat file to set the path to git.

@ECHO OFF
 
rem Include GIT on the path
SET PATH=%PATH%;C:\Program Files (x86)\Git\cmd
 
SET composerScript=composer.phar
php "%~dp0%composerScript%" %*

On Windows 7, if you used the composer installer, composer.bat should be in C:\ProgramData\Composer\bin. Make sure you change the path to git to reflect your environment.

3 Comments