getting 无法修改 frozen #<Class:#<Rake::Task:0x007f88ab1af578>> while 运行 cap dev shell

Getting can't modify frozen #<Class:#<Rake::Task:0x007f88ab1af578>> While running cap dev shell

我正在尝试为一个新项目设置 Capistrano 并在 运行 cap dev shell 时收到以下错误。我在 cap dev deploy:check 上也遇到了同样的错误。我只想将代码从 bitbucket 部署到一个具有我已经在 deploy.rb

中提到的特定角色的实例

deploy.rb

set :application, "fex"
set :repo_url, "git@bitbucket.org:faasos/fex.git"

set :ec2_access_key_id,"AAAAAAAAAAA"
set :ec2_secret_access_key,"AAAAAAAAAAAAAAAAAAAAAA"
set :ec2_project_tag, 'Projects'
set :ec2_roles_tag, 'Roles'
set :ec2_stages_tag, 'Stages'
set :default_shell, "/usr/bin/bash"
set :shell, "bash"

set :keep_releases, 20

namespace :deploy do

  desc "run the frontend"
  task :seed do
    run "cd #{fetch(:deploy_to)}/current/code/fex/frontend; nohup puma RAILS_ENV=#{rails_env} &"
  end

  desc 'Restart application'
  task :restart do
    on roles(:fex), in: :sequence, wait: 5 do
      within "#{fetch(:deploy_to)}/current/" do
        # Your restart mechanism here
        begin
          #execute "fuser -k 3000/tcp"
        rescue =>e
          puts "[Error] e.to_s"
        end
       #execute "cd /home/ubuntu/code/fex/frontend && RAILS_ENV="development" nohup puma &"
        end
    end
  end
after :publishing, :restart

  after :restart, :clear_cache do
    on roles(:foodex), 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

dev.rb

require "cap-ec2/capistrano"

set :rails_env, :dev
set :branch, "master"
set :deploy_user, "ubuntu"
set :full_app_name, "fex"
set :deploy_to, "/home/#{fetch(:deploy_user)}/code/#{fetch(:full_app_name)}"

ec2_role :frontend,user: 'ubuntu'
ec2_role :samachar,user: 'ubuntu'
imohit:prod$ cap dev shell
WARNING: load:defaults has already been invoked and can no longer be modified.
Check that you haven't loaded a Capistrano plugin in deploy.rb by mistake.
Plugins must be loaded in the Capfile to initialize properly.
(Backtrace restricted to imported tasks)
cap aborted!
can't modify frozen #<Class:#<Rake::Task:0x007f88ab1af578>>

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

Tasks: TOP => dev
(See full trace by running task with --trace)

还有剩下的吗?

已通过调用 ~/Capfile 中的所需模块修复此问题:

require 'capistrano/bundler'
require "cap-ec2/capistrano"
require 'capistrano/rails/assets'
require 'capistrano/rails/migrations'

Capistrano v3.10 的 Capfile 包括这些作为潜在的设置配置。