I\'d like to know whats the difference when creating new symfony project with new symfony installer that has appeared last time and old-way composer.
I\'ve installed lat
As Leggendario already explained, the installer downloads the dist files from the website (a .tar.gz
or .zip
file). This speeds up the installation process quite a bit.
However, when building the dist files, symfony.com uses a custom build script which removes some files and changes some things. On the other hand, composer simply downloads the repository for you.
The main differences:
git clone
to download the packages. The build script uses only stable packages, which will make Composer use the dist version. Some packages remove test and doc files from their dist files..gitignore
. The build script previously assumed the person installing it didn't have git, so removed this file and other git related files like the .gitkeep
files in app/cache
and app/logs
.I any case, both the installer and composer always give you a working version of the Symfony Standard Edition.
At last, the build script was changed now the installer became the official way of installing. It'll now contain the git related files. On the other hand, it'll not contain the LICENSE
file, UPGRADE-*.md
files and README.md
file. So in the end, we can say that the one installed by the installer is more usable, as it removes useless files.
Did you update installer as well with :
symfony self-update
or in windows :
php symfony.phar self-update
As stated here ?
That's perhaps one part of the answer. Among differences, the installer seems to deal better with different symfony versions.
Symfony2 Installer will downloaded it from the web site ( in this case: http://symfony.com/download?v=Symfony_Standard_Vendors_2.6.1.zip ).
To see the differences between symfony installer
and the classic composer create-project
is enough to take a look at both composer.lock
: https://www.diffchecker.com/oig86oki
On the left the composer.lock
generated after composer create-project
, on the right symfony installer
. It was obvious to everyone that Symfony2 downloaded from an archive could not have the lastest packages. So, do the update with composer update
.
Again, on the left the composer.lock
of composer create-project
, on the right the new composer.lock
after the update: https://www.diffchecker.com/lj5j2eap
As we expected. But in the vendor dir there are not the same number of file. Some folders are not there. Some folders with functional tests are not downloaded with symfony installer
. You need to force composer to update all packages, or reinstall them.