2016-07-14 3 views
0

서문 나는 카프리 스트라 노를 처음 접한다고 말한다. 즉, Capistrano를 여러 번 배포하기 위해 사용한 기능적 앱이 있습니다. 앱을 여러 번 업데이트하고 cap production deploy을 시도했습니다. 이 오류 출력이 있습니다.Capistrano 배포 실패 - SSH 키트?

** Invoke deploy:check (first_time) 
** Execute deploy:check 
** Invoke git:check (first_time) 
** Invoke git:wrapper (first_time) 
** Execute git:wrapper 
00:00 git:wrapper 
     01 mkdir -p /tmp/dentalimager/ 
cap aborted! 
ArgumentError: wrong number of arguments (0 for 1) 
/home/patrick/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/capistrano-3.5.0/lib/capistrano/dsl/env.rb:16:in `any?' 
/home/patrick/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/sshkit-1.11.1/lib/sshkit/host.rb:84:in `block in netssh_options' 
/home/patrick/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/sshkit-1.11.1/lib/sshkit/host.rb:83:in `tap' 
/home/patrick/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/sshkit-1.11.1/lib/sshkit/host.rb:83:in `netssh_options' 
/home/patrick/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/capistrano-3.5.0/lib/capistrano/configuration/server.rb:59:in `netssh_options' 
/home/patrick/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/sshkit-1.11.1/lib/sshkit/backends/netssh.rb:159:in `with_ssh' 
/home/patrick/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/sshkit-1.11.1/lib/sshkit/backends/netssh.rb:108:in `execute_command' 
/home/patrick/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/sshkit-1.11.1/lib/sshkit/backends/abstract.rb:141:in `block in create_command_and_execute' 
/home/patrick/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/sshkit-1.11.1/lib/sshkit/backends/abstract.rb:141:in `tap' 
/home/patrick/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/sshkit-1.11.1/lib/sshkit/backends/abstract.rb:141:in `create_command_and_execute' 
/home/patrick/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/sshkit-1.11.1/lib/sshkit/backends/abstract.rb:74:in `execute' 
/home/patrick/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/capistrano-3.5.0/lib/capistrano/tasks/git.rake:16:in `block (3 levels) in <top (required)>' 
/home/patrick/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/sshkit-1.11.1/lib/sshkit/backends/abstract.rb:29:in `instance_exec' 
/home/patrick/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/sshkit-1.11.1/lib/sshkit/backends/abstract.rb:29:in `run' 
/home/patrick/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/sshkit-1.11.1/lib/sshkit/runners/parallel.rb:12:in `block (2 levels) in execute' 
Tasks: TOP => git:check => git:wrapper 
The deploy has failed with an error: wrong number of arguments (0 for 1) 
** Invoke deploy:failed (first_time) 
** Execute deploy:failed 

Capistrano와 SSHkit 사이에 문제가있는 것처럼 보였습니다. SSHkit이 v1 1.10.0에서 v1.11.1로 바뀐 것을 bundle update 후에 보여준 Gemfile을 되돌아 보았습니다.

sshkit gem의 업데이트로 인해이 문제가 발생하거나 다른 곳에서 봐야합니까? 그렇다면 어떻게하면 1.10.0으로 돌아가서 향후 Gemfile에 특정 버전을 지정하여 향후 문제를 피할 수 있을까요?

답변

0

예, 이것은 SSHKit 1.11.1에서 소개 된 버그 일 수 있습니다.

먼저 GitHub에서이 문제를 SSHKit 팀에 신고하는 것이 좋습니다. 이 문제를 해결하는 가장 빠른 방법입니다. 한편

https://github.com/capistrano/sshkit/issues

, 당신은 이전 버전에 Gemfile에 "핀"을 사용할 수 SSHKit의 이전 버전을 사용하고이 문제를 방지 할 수 있습니다. 당신의 Gemfile에이 추가 :
# Place this next to gem "capistrano", i.e. in the :development group 
gem "sshkit", "1.10.0" 

그런 다음 귀하의 제안 @ 매트에 대한

bundle update sshkit 
+0

감사를 실행 - 제안하지만 여전히 같은 오류를 갖고있는 것 같다 나는 않았다. 나는 나의 차이점을 되돌아 보았고 Capistrano-rails는 1.1.6에서 1.1.7로 업데이트되었다. SSHkit을 변경해도 Capistrano/rails에서 문제를 열어 볼 수는 없었습니다. – PSCampbell

관련 문제