Issue
Looking at the help for PHP Composer's install
command, I see the following two options
$ composer help install
Options:
--prefer-source Forces installation from package sources when possible, including VCS information.
--prefer-dist Forces installation from package dist even for dev versions.
What's a "dist" installation? I poked around the composer site and Google but there didn't seem to be anything that addressed this (So I assume it's something core and obvious to folks familiar with Composer — apologies for the newbie question)
I'm assuming --prefer-source
is where Composer will ask Packagist for the repository location, and then checkout/clone/export/etc. the project itself.
If so, then where does --prefer-dist
download from? What does it download?
Solution
According to http://getcomposer.org/doc/03-cli.md, the --prefer-source
option will prefer to create a package directory that is a "version control repository". This is equivalent to you typing:
$ git clone ...
or
$ svn checkout ...
The --prefer-dist
option will prefer to create a non-"version control repository", which is equivalent to you typing:
$ git clone ... ; rm -fr dir/.git
or
$ svn export ...
Also, you can define separate repos for source
and dist
in your composer.json
. Here's an example:
{
"repositories": [
{
"type": "package",
"package": {
"name": "joshuaclayton/blueprint-css",
"version": "master",
"source": {
"url": "git://github.com/joshuaclayton/blueprint-css.git",
"type": "git",
"reference": "master",
}
}
},
{
"type": "package",
"package": {
"name": "fiftyone/mobi-lite-php",
"version": "2013.03.06",
"dist": {
"url": "http://iweb.dl.sourceforge.net/project/fiftyone/51Degrees.mobi-Lite-2013.03.06.php.zip",
"type": "zip"
},
}
}
]
}
NOTE: for whatever reason, when I use --prefer-dist
, I sometimes get errors such as
Fatal error: Cannot redeclare class Zend_Db_Adapter_Pdo_Abstract in ...
which do not appear when I use --prefer-source
. For this reason, I only use --prefer-source
, until I figure out the cause of this issue.
Answered By - Ross Smith II
0 Comments:
Post a Comment
Note: Only a member of this blog may post a comment.