代码之家  ›  专栏  ›  技术社区  ›  awendt

为什么我不能在任务中使用Capistrano的信息方法?

  •  0
  • awendt  · 技术社区  · 11 年前

    我想使用 info ,就像capistrano rails那样(例如。 here ).

    但对于此任务:

    namespace :deploy do
    
      if ENV['DB_MIGRATE'] == 'skip'
        Rake::Task['deploy:migrate'].clear_actions
    
        desc "Override Capistrano's default behavior, do not migrate on deploy"
        task :migrate do
          info '[deploy:migrate] Skipping migrations due to DB_MIGRATE=skip'
        end
      end
    
    end
    

    我收到此错误:

    $ DB_MIGRATE=skip bundle exec cap staging deploy:migrate
    (Backtrace restricted to imported tasks)
    cap aborted!
    NoMethodError: undefined method `info' for main:Object
    
    Tasks: TOP => deploy:migrate
    (See full trace by running task with --trace)
    

    我需要做什么才能使用 信息 在我自己的任务中?

    1 回复  |  直到 11 年前
        1
  •  2
  •   bigsolom    11 年前

    Capistrano公开了 info 内部方法 on 阻碍

    http://capistranorb.com/2013/06/01/release-announcement.html

    Capistrano公开了方法debug()、info()、warn()、error()和 可以使用 现有日志记录基础设施和流IO格式化程序: