2014-08-30 3 views
2

Capistrano 3에 대한 다음 코드를 내가 작업중인 레일 앱에 쓰려고합니다. 내가받는 오류는 게시물 제목에 붙여 넣은 메시지입니다.정의되지 않은 메소드 'main'에 대해 실행 : Object

196 namespace :swconfig do 
197 desc "Install Bazaar xmllog plugin." 
198 task :install_bzr_xmllog do 
199  puts "Installing Bazaar xmllog..." 
200  execute "rm -rf /home/deployer/.bazaar/plugins/xmloutput" 
201  execute "mkdir -p /home/deployer/.bazaar/plugins && cd /home/deployer/.bazaar /plugins && bzr branch lp:~amujumdar/bzr-xmloutput/emit_authors xmloutput" 
202 end 
203 
204 desc "Upgrade rack" 
205 task :upgrade_rack do 
206  puts "Upgrading rack to 1.5.2" 
207  execute "gem install rack -v1.5.2" 
208 end 
209 
210 end 

나는 그것의 공식 웹 사이트, 그리고 스택 오버 플로우에서 일반적으로 2에서 카피 스트라 노 업그레이드에 관한 연구의 풍부한 양, 카피 스트라 노를 읽었습니다,하지만 난 문제가 무엇인지 모르겠습니다.

구문은 Capistrano 2에서 나온 것이므로 '실행'키워드는 이전에 '실행'이라는 레이블이 붙어있어 물론 주 : 대상에 대해 정의되지 않은 메서드 '실행'오류가 발생했습니다. 그러나 실행을 실행으로 대체해도 오류가 해결되지 않았습니다. 나는 또한이 변형 구문을 시도했다.

196 namespace :swconfig do 
197 desc "Install Bazaar xmllog plugin." 
198 task :install_bzr_xmllog do 
199  puts "Installing Bazaar xmllog..." 
200  execute :rm, " -rf /home/deployer/.bazaar/plugins/xmloutput" 

이것은 여전히 ​​동일한 오류를 생성합니다. Capistrano의 공식 웹 사이트 Capistrano에 따르면 정확한 구문은 바로 위에 나온 변형이어야합니다. 그러나이 기사에서 찾은 은 실행 구문이 기호 형식으로 작성되지 않았습니다.

마지막으로, 표준, 일관성 있고 안정적인 Capistrano 구문을 찾는 것이 그렇게 시련이므로이 문제를 해결하기 위해 옵션/리드가 부족합니다. 누구든지 문제가 될 수있는 아이디어가 있습니까? 어떤 도움을 주셔서 감사합니다.

+2

Derp. 나는 내 잘못을 발견했다. 이전 구.은 타스크에서 roles 키워드를 지정하지 않았습니다. –

답변

3

capistrano가 도움이되는 오류 메시지를 설정했을 수 있습니다. 여기에 나를 위해 일한 내용은 다음과 같습니다

namespace :deploy do 
    desc "Generate static error pages" 
    task :generate_static_error_pages do 
    on roles(:web) do 
     execute "cd #{current_path}; RAILS_ENV=production rake app:generate_static_error_pages" 
    end 
    end 
end 

두 변경 :

  • 실행은 '실행
  • 둥지된다 실행 CAP3에 대한

    namespace :deploy do 
        desc "Generate static error pages" 
        task :generate_static_error_pages do 
        run "cd #{current_path}; RAILS_ENV=production rake app:generate_static_error_pages" 
        end 
    end 
    

    : CAP2에 대한

    'on 역할 (: 웹)'블록에 줄을 긋습니다.

관련 문제