2017-01-26 3 views
0

Я пытаюсь запустить приложение rails, которое работает локально. Когда я запускаю рельсы, пума запускается правильно.Ошибка Rails: NoMethodError: undefined method `instance 'для Capistrano :: Конфигурация: Class Вы имели в виду? экземпляр?

Сервер ubuntu - 16.04. Ruby - 2.3.1p112, rails - 6.0.1, nginx - 1.10.0, uniocrn - v5.2.0

Nginx, похоже, работает. Однако, когда я пытаюсь подключиться на domainname.com, у меня есть ошибка 502.

Когда я бегу

bundle exec cap production deploy -T 

я получаю эту отслеживающий

[email protected]:/home/deployer/apps/appname/app# bundle exec cap production deploy --trace 
** Invoke production (first_time) 
** Execute production 
** Invoke load:defaults (first_time) 
** Execute load:defaults 
cap aborted! 
NoMethodError: undefined method `instance' for Capistrano::Configuration:Class 
Did you mean? instance_of? 
/var/lib/gems/2.3.0/gems/bundler-1.14.3/lib/bundler/capistrano.rb:13:in `<top (required)>' 
config/deploy.rb:1:in `require' 
config/deploy.rb:1:in `<top (required)>' 
/var/lib/gems/2.3.0/gems/capistrano-3.2.1/lib/capistrano/setup.rb:14:in `load' 
/var/lib/gems/2.3.0/gems/capistrano-3.2.1/lib/capistrano/setup.rb:14:in `block (2 levels) in <top (required)>' 
/var/lib/gems/2.3.0/gems/rake-12.0.0/lib/rake/task.rb:250:in `block in execute' 
/var/lib/gems/2.3.0/gems/rake-12.0.0/lib/rake/task.rb:250:in `each' 
/var/lib/gems/2.3.0/gems/rake-12.0.0/lib/rake/task.rb:250:in `execute' 
/var/lib/gems/2.3.0/gems/rake-12.0.0/lib/rake/task.rb:194:in `block in invoke_with_call_chain' 
/usr/lib/ruby/2.3.0/monitor.rb:214:in `mon_synchronize' 
/var/lib/gems/2.3.0/gems/rake-12.0.0/lib/rake/task.rb:187:in `invoke_with_call_chain' 
/var/lib/gems/2.3.0/gems/rake-12.0.0/lib/rake/task.rb:180:in `invoke' 
/var/lib/gems/2.3.0/gems/rake-12.0.0/lib/rake/application.rb:152:in `invoke_task' 
/var/lib/gems/2.3.0/gems/rake-12.0.0/lib/rake/application.rb:108:in `block (2 levels) in top_level' 
/var/lib/gems/2.3.0/gems/rake-12.0.0/lib/rake/application.rb:108:in `each' 
/var/lib/gems/2.3.0/gems/rake-12.0.0/lib/rake/application.rb:108:in `block in top_level' 
/var/lib/gems/2.3.0/gems/rake-12.0.0/lib/rake/application.rb:117:in `run_with_threads' 
/var/lib/gems/2.3.0/gems/rake-12.0.0/lib/rake/application.rb:102:in `top_level' 
/var/lib/gems/2.3.0/gems/rake-12.0.0/lib/rake/application.rb:80:in `block in run' 
/var/lib/gems/2.3.0/gems/rake-12.0.0/lib/rake/application.rb:178:in `standard_exception_handling' 
/var/lib/gems/2.3.0/gems/rake-12.0.0/lib/rake/application.rb:77:in `run' 
/var/lib/gems/2.3.0/gems/capistrano-3.2.1/lib/capistrano/application.rb:15:in `run' 
/var/lib/gems/2.3.0/gems/capistrano-3.2.1/bin/cap:3:in `<top (required)>' 
/usr/local/bin/cap:23:in `load' 
/usr/local/bin/cap:23:in `<top (required)>' 
/var/lib/gems/2.3.0/gems/bundler-1.14.3/lib/bundler/cli/exec.rb:74:in `load' 
/var/lib/gems/2.3.0/gems/bundler-1.14.3/lib/bundler/cli/exec.rb:74:in `kernel_load' 
/var/lib/gems/2.3.0/gems/bundler-1.14.3/lib/bundler/cli/exec.rb:27:in `run' 
/var/lib/gems/2.3.0/gems/bundler-1.14.3/lib/bundler/cli.rb:335:in `exec' 
/var/lib/gems/2.3.0/gems/bundler-1.14.3/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run' 
/var/lib/gems/2.3.0/gems/bundler-1.14.3/lib/bundler/vendor/thor/lib/thor/invocation.rb:126:in `invoke_command' 
/var/lib/gems/2.3.0/gems/bundler-1.14.3/lib/bundler/vendor/thor/lib/thor.rb:359:in `dispatch' 
/var/lib/gems/2.3.0/gems/bundler-1.14.3/lib/bundler/cli.rb:20:in `dispatch' 
/var/lib/gems/2.3.0/gems/bundler-1.14.3/lib/bundler/vendor/thor/lib/thor/base.rb:440:in `start' 
/var/lib/gems/2.3.0/gems/bundler-1.14.3/lib/bundler/cli.rb:11:in `start' 
/var/lib/gems/2.3.0/gems/bundler-1.14.3/exe/bundle:32:in `block in <top (required)>' 
/var/lib/gems/2.3.0/gems/bundler-1.14.3/lib/bundler/friendly_errors.rb:121:in `with_friendly_errors' 
/var/lib/gems/2.3.0/gems/bundler-1.14.3/exe/bundle:24:in `<top (required)>' 
/usr/local/bin/bundle:23:in `load' 
/usr/local/bin/bundle:23:in `<main>' 
Tasks: TOP => production 

Вот мой конфиг/deploy.rb

#set :repo_url, '[email protected]:me/my_repo.git' 

# Default branch is :master 
# ask :branch, proc { `git rev-parse --abbrev-ref HEAD`.chomp }.call 

# Default deploy_to directory is /var/www/my_app 
# set :deploy_to, '/var/www/my_app' 

# Default value for :scm is :git 
# set :scm, :git 

# Default value for :format is :pretty 
# set :format, :pretty 

# Default value for :log_level is :debug 
# set :log_level, :debug 

# Default value for :pty is false 
# set :pty, true 

# Default value for :linked_files is [] 
# set :linked_files, %w{config/database.yml} 

# Default value for linked_dirs is [] 
# set :linked_dirs, %w{bin log tmp/pids tmp/cache tmp/sockets vendor/bundle public/system} 

# Default value for default_env is {} 
# set :default_env, { path: "/opt/ruby/bin:$PATH" } 

# Default value for keep_releases is 5 
# set :keep_releases, 5 

namespace :deploy do 

    desc 'Restart application' 
    task :restart do 
    on roles(:app), in: :sequence, wait: 5 do 
     # Your restart mechanism here, for example: 
     # execute :touch, release_path.join('tmp/restart.txt') 
    end 
    end 

    after :publishing, :restart 

    after :restart, :clear_cache do 
    on roles(:web), in: :groups, limit: 3, wait: 10 do 
     # Here we can do anything such as: 
     # within release_path do 
     # execute :rake, 'cache:clear' 
     # end 
    end 
    end 

end 

Вот мой конфиг/развернуть/производство .rb

# Simple Role Syntax 
# ================== 
# Supports bulk-adding hosts to roles, the primary server in each group 
# is considered to be the first unless any hosts have the primary 
# property set. Don't declare `role :all`, it's a meta role. 

role :app, %w{[email protected]} 
role :web, %w{[email protected]} 
role :db, %w{[email protected]} 


# Extended Server Syntax 
# ====================== 
# This can be used to drop a more detailed server definition into the 
# server list. The second argument is a, or duck-types, Hash and is 
# used to set extended properties on the server. 

server 'appname.com', user: 'deployer', roles: %w{web app}, my_property: :my_value 


# Custom SSH Options 
# ================== 
# You may pass any option but keep in mind that net/ssh understands a 
# limited set of options, consult[net/ssh documentation](http://net-ssh.github.io/net-ssh/classes/Net/SSH.html#method-c-start). 
# 
# Global options 
# -------------- 
# set :ssh_options, { 
# keys: %w(/home/rlisowski/.ssh/id_rsa), 
# forward_agent: false, 
# auth_methods: %w(password) 
# } 
# 
# And/or per server (overrides global) 
# ------------------------------------ 
# server 'example.com', 
# user: 'user_name', 
# roles: %w{web app}, 
# ssh_options: { 
#  user: 'user_name', # overrides user setting above 
#  keys: %w(/home/user_name/.ssh/id_rsa), 
#  forward_agent: false, 
#  auth_methods: %w(publickey password) 
#  # password: 'please use keys' 
# } 

Вот мой 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/*.rake').each { |r| import r } 

Я попытался понижение/модернизации моего capfile. Кажется, что все

ответ

0
  1. Раскоментируйте require 'capistrano/bundler' из Capfile
  2. Добавить камень 'capistrano-bundler' к вашему Gemfile.
  3. Запустите bundle install, а затем повторите попытку развертывания.
+0

Спасибо, что исправил эту проблему сейчас, чтобы отладить другие проблемы. – user2723240

Смежные вопросы