webentwicklung-frage-antwort-db.com.de

NoMethodError: undefined Methode 'on' für main: Object

wenn ich bundle exec cap production deploy --trace versuche, erhalte ich eine Fehlermeldung:

[email protected]:/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

Hier ist mein 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

meine 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 }

und auch meine 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

Weiß jemand, wie man das beheben kann? 

Vielen Dank, Maxi

15
Maxiquester

Ich hatte den gleichen Fehler, nachdem ich ein Bundle-Update ausgeführt hatte. Es wurden keine Hauptversionen aktualisiert, mit Ausnahme von Rake auf 11. Ein Upgrade von Capistrano 3.2.1 auf 3.4.0 hat es für mich behoben!

38
Marthyn Olthof

Ich habe den gleichen Fehler. 

Meine Capistrano-Version ist 3.1.0, die Rails-Version 4.1.4 ..__, aber mein Kollege hat dieses Problem nicht. Ich versuche, meine Ruby-Version zu ändern, die rvm-Version genauso wie die Konfiguration meines Kollegen. Es funktioniert immer noch nicht .. Also versuche ich, alle diese Edelsteine ​​in einer Liste aufzulisten. Ich habe festgestellt, dass mein Sshkit höher ist als er.

Also stufe ich mein sshkit auf 1.7.1 herunter. 

Dann klappt es.

1
TsaiKoga