Tengo un proyecto Symfony 2.1, con paquetes adicionales instalados a través de compositor. Quiero implementarlo en mi servidor de producción, pero me pregunto si necesito cambiar alguna cosa en el archivo composer.json
. Aquí está el contenido de mi archivo actual:¿Cómo debería verse mi archivo composer.json en el entorno de producción?
{
"name": "symfony/framework-standard-edition",
"description": "The \"Symfony Standard Edition\" distribution",
"autoload": {
"psr-0": { "": "src/" }
},
"require": {
"php": ">=5.3.3",
"symfony/symfony": "2.1.1",
"doctrine/orm": ">=2.2.3,<2.4-dev",
"doctrine/doctrine-bundle": "1.0.*",
"twig/extensions": "1.0.*",
"symfony/assetic-bundle": "2.1.*",
"symfony/swiftmailer-bundle": "2.1.*",
"symfony/monolog-bundle": "2.1.*",
"sensio/distribution-bundle": "2.1.*",
"sensio/framework-extra-bundle": "2.1.*",
"sensio/generator-bundle": "2.1.*",
"jms/security-extra-bundle": "1.2.*",
"jms/di-extra-bundle": "1.1.*",
"friendsofsymfony/user-bundle": "*",
"knplabs/knp-paginator-bundle": "dev-master",
"ornicar/gravatar-bundle": "dev-master",
"liip/url-auto-converter-bundle": "dev-master"
},
"scripts": {
"post-install-cmd": [
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile"
],
"post-update-cmd": [
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile"
]
},
"config": {
"bin-dir": "bin"
},
"minimum-stability": "dev",
"extra": {
"symfony-app-dir": "app",
"symfony-web-dir": "web"
}
}
¿Debo cambiar la configuración minimum-stability
?
¿Debo arreglar cada requisito a una sola versión, sin comodín o "dev-master"?
¿Se supone que debo buscar en http://packagist.org/ la última versión estable de cada dependencia?
Excelente respuesta, pero ¿podría detallar el paso "implementar su aplicación"? ¿Qué archivos de compositor necesito? Obviamente, los archivos .phar y .lock. ¿Todavía necesito el compositor.json? ¿Qué pasa con el composer_installer.php? –
@BenjaminBrizzi Bueno, no puedo elaborar más la "implementación de su aplicación". Composer solo se ocupa de las dependencias, no de su aplicación en sí misma. Por lo general, un "despliegue de su aplicación" puede ser un 'git clone'. Todavía necesita el 'composer.json', ya que contiene la lista deps. 'composer.lock' solo especifica qué versiones exactamente quieres tener instaladas. No sé qué es composer_installer.php, lo siento. –