

### 発生している問題

下記の自動デプロイのコマンドを実行すると、エラーが起こります  
deploy.rbやCapfileが原因のような気がしますが、変にいじった記憶はないです  
何が悪いのでしょうか？

**実行したコマンド**

[code]

    bundle exec cap production deploy
    
[/code]

### エラー内容

[code]

    ERROR: load:defaults has already been invoked and can no longer be modified.
    Check that you haven't loaded a Capistrano plugin in deploy.rb or a stage
    (e.g. deploy/production.rb) by mistake.
    Plugins must be loaded in the Capfile to initialize properly.
    (Backtrace restricted to imported tasks)
    cap aborted!
    FrozenError: can't modify frozen #<Class:#<Rake::Task:0x00007fdf380bd1b8>>
    
    Tasks: TOP => production
    (See full trace by running task with --trace)
    
[/code]

### 各ファイルの内容

**deploy.rb**

[code]

    config valid only for current version of Capistrano
    
    lock '3.14.1'
    
    
    set :application, 'baseball-app'
    
    set :repo_url,  'git@github.com:katou02/baseball-app.git'
    
    
    set :linked_dirs, fetch(:linked_dirs, []).push('log', 'tmp/pids', 'tmp/cache', 'tmp/sockets', 'vendor/bundle', 'public/system', 'public/uploads')
    
    set :rbenv_type, :user
    set :rbenv_ruby, '2.5.1'
    
    
    set :ssh_options, auth_methods: ['publickey'],
                      keys: ['~/.ssh/Rails-app.pem'] 
    
    
    set :unicorn_pid, -> { "#{shared_path}/tmp/pids/unicorn.pid" }
    
    
    set :unicorn_config_path, -> { "#{current_path}/config/unicorn.rb" }
    set :keep_releases, 5
    
    
    after 'deploy:publishing', 'deploy:restart'
    namespace :deploy do
      task :restart do
        invoke 'unicorn:restart'
      end
    end
    
    require "capistrano/scm/git"
    install_plugin Capistrano::SCM::Git
    
[/code]

**Capfile**

[code]

    require "capistrano/setup"
    require "capistrano/deploy"
    require 'capistrano/rbenv'
    require 'capistrano/bundler'
    require 'capistrano/rails/assets'
    require 'capistrano/rails/migrations'
    require 'capistrano3/unicorn'
    
    Dir.glob("lib/capistrano/tasks/*.rake").each { |r| import r }
    
[/code]

**Gemfile**

[code]

    source 'https://rubygems.org'
    git_source(:github) { |repo| "https://github.com/#{repo}.git" }
    
    ruby '2.5.1'
    
    # Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
    gem 'rails', '~> 5.2.3'
    # Use mysql as the database for Active Record
    gem 'mysql2', '0.5.2'
    # Use Puma as the app server
    gem 'puma', '~> 3.11'
    # Use SCSS for stylesheets
    gem 'sass-rails', '5.0.7'
    # Use Uglifier as compressor for JavaScript assets
    gem 'uglifier', '>= 1.3.0'
    # See https://github.com/rails/execjs#readme for more supported runtimes
    # gem 'mini_racer', platforms: :ruby
    
    # Use CoffeeScript for .coffee assets and views
    gem 'coffee-rails', '~> 4.2'
    # Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks
    gem 'turbolinks', '~> 5'
    # Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
    gem 'jbuilder', '~> 2.5'
    # Use Redis adapter to run Action Cable in production
    # gem 'redis', '~> 4.0'
    # Use ActiveModel has_secure_password
    # gem 'bcrypt', '~> 3.1.7'
    
    # Use ActiveStorage variant
    # gem 'mini_magick', '~> 4.8'
    
    # Use Capistrano for deployment
    # gem 'capistrano-rails', group: :development
    
    # Reduces boot times through caching; required in config/boot.rb
    gem 'bootsnap', '>= 1.1.0', require: false
    
    group :development, :test do
      # Call 'byebug' anywhere in the code to stop execution and get a debugger console
      gem 'byebug', platforms: [:mri, :mingw, :x64_mingw]
      gem 'capistrano'
      gem 'capistrano-rbenv'
      gem 'capistrano-bundler'
      gem 'capistrano-rails'
      gem 'capistrano3-unicorn'
    end
    
    group :development do
      # Access an interactive console on exception pages or by calling 'console' anywhere in the code.
      gem 'web-console', '>= 3.3.0'
      gem 'listen', '>= 3.0.5', '< 3.2'
      # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
      gem 'spring'
      gem 'spring-watcher-listen', '~> 2.0.0'
    end
    
    group :test do
      # Adds support for Capybara system testing and selenium driver
      gem 'capybara', '>= 2.15'
      gem 'selenium-webdriver'
      # Easy installation and use of chromedriver to run system tests with Chrome
      gem 'chromedriver-helper'
    end
    
    # Windows does not include zoneinfo files, so bundle the tzinfo-data gem
    gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
    
    gem 'pry-rails'
    gem 'compass-rails', '3.1.0'
    gem 'sprockets', '3.7.2'
    gem 'kaminari'
    gem 'jquery-rails'
    gem 'fullcalendar-rails'
    gem 'momentjs-rails'
    gem 'rails-i18n'
    gem 'devise'
    gem 'carrierwave'
    gem 'mini_magick'
    gem "font-awesome-sass"
    gem 'ancestry'
    # gem 'fog-aws'
    
    group :production do
      gem 'unicorn', '5.4.1'
    end
    
[/code]

**Gemfile.lock**

[code]

    RUBY VERSION
       ruby 2.5.1p57
    
    BUNDLED WITH
       2.1.4
    
[/code]


CC BY-SA 4.0
2020-09-30T15:52:51.277
70850
2020-10-03T06:53:16.267
2020-10-03T06:53:16.267
32986
42029
question
ruby-on-rails nginx unicorn capistrano
自動デプロイでエラーが発生する