Rails 4, Capistrano 3.0.0, ne peut pas charger un tel fichier – déployer

Je viens de lancer la mise à jour de bundle et capistrano a été mis à jour vers la version 3.0.0 mais maintenant, lorsque je lance la stratégie de déploiement, je reçois une erreur et je n’arrive pas à résoudre le problème. J’ai mis à jour mon serveur tous les jours sans problème jusqu’à cette mise à jour.

cap aborted! cannot load such file -- deploy /home/mark/rails_apps/myapp/Capfile:1:in `load' /home/mark/rails_apps/myapp/Capfile:1:in `' 

fichier de capture

 load 'deploy' load 'deploy/assets' load 'config/deploy' # remove this line to skip loading any of the default tasks 

Je devais lancer gem uninstall capistrano

puis mettez à jour le gemfile avec gem 'capistrano', '~> 2.15'

puis exécutez pour réinstaller la version correcte avec la bundle update capistrano

J’ai dû désinstaller capistrano et la version sélectionnée 3.0.0

(c.-à-d. rétrogradé la gem en 2.x)

Assurez-vous que vous utilisez exec exec (vous avez probablement plusieurs versions de gem de capistrano)

c’est à dire

bundle exec cap -T

Au lieu de rétrograder à Capistrano 2, utilisez la nouvelle configuration de la version actuelle.

 require "capistrano/bundler" require "capistrano/rails/assets" require "capistrano/rails/migrations" 

Voir aussi cette belle publication , qui résume les différences entre Capistrano 2 et 3.

Ajoutez les gemmes associées à votre Gemfile

c’est à dire pour

 gem 'capistrano-bundler' # for capistrano/bundler gem 'capistrano-rails' # for capistrano/rails/* 

Ne revenez pas à 2.x pour cela.

J’ai eu ce problème aujourd’hui et la solution de pastullo ci-dessus a résolu le problème, sauf que je devais lancer gem uninstall capistrano (comme repondait markhorrocks) et non pas désinstaller capistrano.

J’ai aussi trouvé ce blog sur bundler très utile: http://viget.com/extend/bundler-best-practices

Merci de partager ceci car cela m’a sauvé des tas de temps. X

Le moyen le plus rapide de résoudre ce problème est de sauvegarder les fichiers cap (Capfile, config / deploy.rb, config / deploy / *. Rb) et de les re-capifier (ce n’est plus ce qu’on appelle “capify”):

 bundle exec cap install STAGES=staging,production 

Recréez ensuite vos fichiers cap à partir de votre sauvegarde. Cela vous prendra 5 minutes pour le faire et vous passerez la majeure partie de la mise à niveau de Capistrano.

j’ai utilisé

bundle exec cap production deploy

au lieu de simplement cap production deploy

dans mon cas, j’ai changé la version ruby ​​de mon projet. peut être bundle travaille aussi ici.

mais je l’ai changé pour revenir à ce qu’il était auparavant.

ex:

 rbenv local 2.4.1