Résoudre le conflit entre Capifony et Capistrano 3

Cet article a été publié depuis plus de 6 mois, cela signifie que le contenu peut ne plus être d'actualité.

Si vous avez installé la version 3 de Capistrano (un outil largement utilisé pour le déploiement d’application web), vous avez peut-être remarqué qu’il y avait un conflit avec Capifony (son adaptation pour les applications Symfony2). Effectivement, ce dernier n’est pas (encore) compatible avec la dernière version de Capistrano.

Si vous rencontrez ce problème, il existe une solution simple permettant de résoudre le conflit. Pour cela il vous faudra installer bundler via cette ligne de commande : gem install bundler.

Bundler est l’outil utilisé pour gérer les dépendances des applications Ruby. Nous allons donc nous servir de cet outil pour installer et utiliser la version de Capistrano correspondant à nos besoins. La configuration de bundler se passe au travers d’un fichier Gemfile qui décrit les dépendances requises :

source 'https://rubygems.org'
gem 'capifony', '~> 2.8.1'

Il suffit ensuite de démarrer l’installation des dépendances via la commande bundle install.

Tout comme avec Composer, Bundler a installé les différents modules “localement”. Pour exécuter Capifony la version décrit dans le Gemfile, il faudra préfixer les commandes par bundle exec.

Par exemple, la commande de déploiement s’execute via la commande : bundle exec cap deploy