lorsque j'essaie de bundle exec cap production deploy --trace
, un message d'erreur apparaît:
deploy@h2540559:/www/apps/foodsoft$ bundle exec cap production deploy --trace
** Invoke production (first_time)
** Execute production
** Invoke load:defaults (first_time)
** Execute load:defaults
** Invoke rvm:hook (first_time)
** Execute rvm:hook
cap aborted!
NoMethodError: undefined method `on' for main:Object
/usr/local/rvm/gems/Ruby-2.0.0-p643/gems/capistrano-rvm-0.1.2/lib/capistrano/tasks/rvm.rake:17:in `block (2 levels) in <top (required)>'
/usr/local/rvm/gems/Ruby-2.0.0-p643/gems/rake-11.1.1/lib/rake/task.rb:248:in `call'
/usr/local/rvm/gems/Ruby-2.0.0-p643/gems/rake-11.1.1/lib/rake/task.rb:248:in `block in execute'
/usr/local/rvm/gems/Ruby-2.0.0-p643/gems/rake-11.1.1/lib/rake/task.rb:243:in `each'
/usr/local/rvm/gems/Ruby-2.0.0-p643/gems/rake-11.1.1/lib/rake/task.rb:243:in `execute'
/usr/local/rvm/gems/Ruby-2.0.0-p643/gems/rake-11.1.1/lib/rake/task.rb:187:in `block in invoke_with_call_chain'
/usr/local/rvm/rubies/Ruby-2.0.0-p643/lib/Ruby/2.0.0/monitor.rb:211:in `mon_synchronize'
/usr/local/rvm/gems/Ruby-2.0.0-p643/gems/rake-11.1.1/lib/rake/task.rb:180:in `invoke_with_call_chain'
/usr/local/rvm/gems/Ruby-2.0.0-p643/gems/rake-11.1.1/lib/rake/task.rb:173:in `invoke'
/usr/local/rvm/gems/Ruby-2.0.0-p643/gems/capistrano-3.2.1/lib/capistrano/dsl/task_enhancements.rb:12:in `block in after'
/usr/local/rvm/gems/Ruby-2.0.0-p643/gems/rake-11.1.1/lib/rake/task.rb:248:in `call'
/usr/local/rvm/gems/Ruby-2.0.0-p643/gems/rake-11.1.1/lib/rake/task.rb:248:in `block in execute'
/usr/local/rvm/gems/Ruby-2.0.0-p643/gems/rake-11.1.1/lib/rake/task.rb:243:in `each'
/usr/local/rvm/gems/Ruby-2.0.0-p643/gems/rake-11.1.1/lib/rake/task.rb:243:in `execute'
/usr/local/rvm/gems/Ruby-2.0.0-p643/gems/rake-11.1.1/lib/rake/task.rb:187:in `block in invoke_with_call_chain'
/usr/local/rvm/rubies/Ruby-2.0.0-p643/lib/Ruby/2.0.0/monitor.rb:211:in `mon_synchronize'
/usr/local/rvm/gems/Ruby-2.0.0-p643/gems/rake-11.1.1/lib/rake/task.rb:180:in `invoke_with_call_chain'
/usr/local/rvm/gems/Ruby-2.0.0-p643/gems/rake-11.1.1/lib/rake/task.rb:173:in `invoke'
/usr/local/rvm/gems/Ruby-2.0.0-p643/gems/rake-11.1.1/lib/rake/application.rb:150:in `invoke_task'
/usr/local/rvm/gems/Ruby-2.0.0-p643/gems/rake-11.1.1/lib/rake/application.rb:106:in `block (2 levels) in top_level'
/usr/local/rvm/gems/Ruby-2.0.0-p643/gems/rake-11.1.1/lib/rake/application.rb:106:in `each'
/usr/local/rvm/gems/Ruby-2.0.0-p643/gems/rake-11.1.1/lib/rake/application.rb:106:in `block in top_level'
/usr/local/rvm/gems/Ruby-2.0.0-p643/gems/rake-11.1.1/lib/rake/application.rb:115:in `run_with_threads'
/usr/local/rvm/gems/Ruby-2.0.0-p643/gems/rake-11.1.1/lib/rake/application.rb:100:in `top_level'
/usr/local/rvm/gems/Ruby-2.0.0-p643/gems/rake-11.1.1/lib/rake/application.rb:78:in `block in run'
/usr/local/rvm/gems/Ruby-2.0.0-p643/gems/rake-11.1.1/lib/rake/application.rb:176:in `standard_exception_handling'
/usr/local/rvm/gems/Ruby-2.0.0-p643/gems/rake-11.1.1/lib/rake/application.rb:75:in `run'
/usr/local/rvm/gems/Ruby-2.0.0-p643/gems/capistrano-3.2.1/lib/capistrano/application.rb:15:in `run'
/usr/local/rvm/gems/Ruby-2.0.0-p643/gems/capistrano-3.2.1/bin/cap:3:in `<top (required)>'
/usr/local/rvm/gems/Ruby-2.0.0-p643/bin/cap:23:in `load'
/usr/local/rvm/gems/Ruby-2.0.0-p643/bin/cap:23:in `<main>'
/usr/local/rvm/gems/Ruby-2.0.0-p643/bin/Ruby_executable_hooks:15:in `eval'
/usr/local/rvm/gems/Ruby-2.0.0-p643/bin/Ruby_executable_hooks:15:in `<main>'
Tasks: TOP => rvm:hook
Voici mon gemfile:
# A sample Gemfile
source "https://rubygems.org"
gem "Rails", '~> 4.2'
gem 'sass-Rails'
gem 'coffee-Rails'
gem 'less-Rails'
gem 'uglifier', '>= 1.0.3'
# See https://github.com/sstephenson/execjs#readme for more supported runtimes
gem 'therubyracer', platforms: :Ruby
gem 'jquery-Rails'
gem 'select2-Rails'
gem 'Rails_tokeninput'
gem 'bootstrap-datepicker-Rails'
gem 'date_time_attribute'
gem 'Rails-assets-listjs', '0.2.0.beta.4' # remember to maintain list.*.js plugins and template engines on update
gem 'i18n-js', '~> 3.0.0.rc8'
gem 'Rails-i18n'
gem 'mysql2'
gem 'prawn'
gem 'prawn-table'
gem 'haml-Rails'
gem 'kaminari'
gem 'simple_form'
gem 'inherited_resources'
gem 'localize_input', git: "git://github.com/bennibu/localize_input.git"
gem 'daemons'
gem 'Twitter-bootstrap-Rails', '~> 2.2.8'
gem 'simple-navigation', '~> 3.14.0' # 3.x for simple_navigation_bootstrap
gem 'simple-navigation-bootstrap'
gem 'ransack'
gem 'acts_as_tree'
gem 'Rails-settings-cached'
gem 'resque'
gem 'whenever', require: false # For defining cronjobs, see config/schedule.rb
gem 'protected_attributes'
gem 'Ruby-units'
gem 'attribute_normalizer'
gem 'ice_cube', github: 'wvengen/ice_cube', branch: 'issues/50-from_ical-rebased' # fork until merged
gem 'recurring_select'
gem 'roo', '~> 1.13.2'
gem 'spreadsheet'
# we use the git version of acts_as_versioned, and need to include it in this Gemfile
gem 'acts_as_versioned', github: 'technoweenie/acts_as_versioned'
gem 'foodsoft_wiki', path: 'plugins/wiki'
gem 'foodsoft_messages', path: 'plugins/messages'
# plugins not enabled by default
#gem 'foodsoft_uservoice', path: 'plugins/uservoice'
group :production do
gem 'exception_notification'
end
group :development do
gem 'sqlite3'
gem 'mailcatcher'
gem 'web-console', '~> 2.0'
# allow to use `debugger` https://github.com/conradirwin/pry-rescue
gem 'pry-rescue'
gem 'pry-stack_Explorer'
# Better error output
gem 'better_errors'
gem 'binding_of_caller'
# gem "Rails-i18n-debug"
# chrome debugging extension https://github.com/dejan/Rails_panel
gem 'meta_request'
# Get infos when not using proper eager loading
gem 'bullet'
# Hide assets requests in log
gem 'quiet_assets'
# Deploy with Capistrano
gem 'capistrano', '~> 3.2.0', require: false
gem 'capistrano-rvm', require: false
gem 'capistrano-bundler', '>= 1.1.0', require: false
gem 'capistrano-Rails', require: false
# Avoid having content-length warnings
gem 'thin'
end
group :development, :test do
gem 'Ruby-prof', require: false
end
group :test do
gem 'rspec-Rails'
gem 'factory_girl_Rails'
gem 'faker'
gem 'capybara'
# webkit and poltergeist don't seem to work yet
gem 'Selenium-webdriver'
gem 'database_cleaner'
gem 'connection_pool'
# need to include rspec components before i18n-spec or rake fails in test environment
gem 'rspec-core', '~> 3.2'
gem 'rspec-rerun'
gem 'rspec-legacy_formatters'
gem 'i18n-spec'
# code coverage
gem 'simplecov', require: false
gem 'coveralls', require: false
end
mon capfile
# Load DSL and Setup Up Stages
require 'capistrano/setup'
# Includes default deployment tasks
require 'capistrano/deploy'
# Includes tasks from other gems included in your Gemfile
#
# For documentation on these, see for example:
#
# https://github.com/capistrano/rvm
# https://github.com/capistrano/rbenv
# https://github.com/capistrano/chruby
# https://github.com/capistrano/bundler
# https://github.com/capistrano/Rails
#
require 'capistrano/rvm'
# require 'capistrano/rbenv'
# require 'capistrano/chruby'
# require 'capistrano/bundler'
require 'capistrano/Rails/assets'
require 'capistrano/Rails/migrations'
# Loads custom tasks from `lib/capistrano/tasks' if you have any defined.
Dir.glob('lib/capistrano/tasks/*.{cap,rake}').each { |r| import r }
et aussi mon deploy.rb
#
# Capistrano 3 deployment configuration
#
# http://www.capistranorb.com/
# https://semaphoreapp.com/blog/2013/11/26/capistrano-3-upgrade-guide.html
# defaults that can be updated from the environment
set :branch, ENV["REVISION"] || ENV["BRANCH_NAME"] || "master"
# you probably want to change these
set :application, 'foodsoft' # application name (whatever you like)
set :domain, 'biomio-giessen.de' # Host
set :user, 'deploy' # ssh deploy user
set :keep_releases, 10
set :repo_url, 'git://github.com/foodcoops/foodsoft.git'
set :deploy_to, "/www/apps/#{fetch :application}-#{fetch :stage}"
# more settings which are probably ok
set :log_level, :info
set :linked_files, %w{config/database.yml config/app_config.yml config/initializers/secret_token.rb config/initializers/session_store.rb}
set :linked_dirs, %w{bin log tmp/pids tmp/cache tmp/sockets vendor/bundle public/system}
# assuming one server for everything, with one user for deploy and one for resque
server fetch(:domain), user: fetch(:user), roles: [:web, :app, :resque, :db]
# if you use RVM, uncomment the line in Capfile, and optionally uncomment rvm settings
# set :rvm_Ruby_string, :local
# task hooks
namespace :deploy do
desc 'Restart application'
task :restart do
on roles(:app), in: :sequence, wait: 5 do
# tell mod_passenger to reload the application
execute :touch, release_path.join('tmp/restart.txt')
end
end
after :restart, 'resque:restart'
after :finishing, 'deploy:cleanup'
# see lib/capistrano/tasks/plugins.cap
#before 'bundler:install', 'enable_plugins:auto'
end
Est-ce que quelqu'un sait comment réparer ceci?
Merci beaucoup, Maxi
J'ai eu la même erreur tout à l'heure après l'exécution d'une mise à jour de paquet, aucune version majeure n'a été mise à jour, à l'exception de Rake à 11. Une mise à niveau de capistrano 3.2.1 à 3.4.0 l'a corrigée pour moi!
J'ai la même erreur.
Ma version de capistrano est 3.1.0, celle de Rails est 4.1.4 ..__ Mais mon collègue n'a pas ce problème. J'essaie de changer ma version de Ruby, version de rvm identique à la configuration de mon collègue. Cela ne fonctionne toujours pas ... Je tente donc de lister toutes ces pierres précieuses. J'ai trouvé mon sshkit est plus élevé que le sien.
Donc, je rétrograde mon sshkit à 1.7.1.
Alors ça marche.