Versioni di Capifony

Capifony, come sapete, è ormai lo standard de facto per il deploy con Symfony. È un bel progetto, mantenuto attivamente, che quindi spesso viene aggiornato. Dal canto suo, anche Capistrano (a cui Capifony si appoggia), riceve vari aggiornamenti. E qui purtroppo arrivano i problemi: più di una volta mi è capitato di trovarmi con un Capifony non funzionante, a causa di stretti requisiti (un po’ troppo stretti, a mio parere) sulle dipendenze.
Prendiamo come esempio le ultime versioni al momento disponibili: aggiornando oggi le gemme di ruby, ho avuto questa brutta sorpresa:

/usr/local/lib/site_ruby/1.8/rubygems/dependency.rb:247:in `to_specs': Could not find capistrano (<= 2.14.1, >= 2.13.5) amongst [capifony-2.2.7, capistrano-2.14.2, capistrano-maintenance-0.0.2, colored-1.2, highline-1.6.15, inifile-2.0.2, net-scp-1.1.0, net-sftp-2.1.1, net-ssh-2.6.5, net-ssh-gateway-1.2.0] (Gem::LoadError)

La versione più recente di Capifony richiede Capistrano non più nuovo di 2.14.1, ma il Capistrano più recente è 2.14.2.
Ecco come ho risolto (i comandi sono stati dati su Ubuntu Linux 12.10, your mileage may vary)

sudo gem uninstall capistrano -v 2.14.2
sudo gem install capistrano -v 2.14.1

L’ultimo comando serve solo se in precedenza è stata fatta una pulizia delle gemme, tramite sudo gem clean. Purtroppo anche questa va fatta, perché spesso le versioni diverse sono in conflitto tra di loro.

Leave a Reply

Your email address will not be published. Required fields are marked *