2011-11-22 2 views
3

cap deploy:migrate 갑자기 오류, 작동이 중지되었습니다 : 오류가이 유효한 명령 없다는 함께 할 수있는 뭔가가 ... 분명히카피 스트라 노 오류가 네임 스페이스와 함께 배포 할 때

*** [err :: 1.2.3.4:2222] bash: -c: line 1: syntax error: unexpected end of file command finished in 559ms 
failed: "/usr/local/bin/rvm-shell '[email protected]' -c 'cd /home/user/app/releases/20111122182205 && #<Capistrano::Configuration::Namespaces::Namespace:0xa6a0cc> RAILS_ENV=staging db:migrate'" on 1.2.3.4:2222 

#<Capistrano::Configuration::Namespaces::Namespace:0xa6a0cc>

그러나 나는 최근에 어떤 변화가 있었는지 전혀 모른다. 어떤 아이디어?

갱신

내가 변경 내 코드의 아무것도 몰라,하지만 난 환경과 바이올린을 수 있습니다. 그것이 다른 보석 세트와 카피 스트라 노의 버전으로 인해 될 수 있는지 궁금하네요. 번들 exec 호출 사용 여부에 관계없이 다른 버전이 존재하는 것처럼 보입니다. 파일 오류의

답변

11

나는이 똑같은 문제가 있었고 나의 경우에는 네임 스페이스와 변수 사이의 충돌과 관련이 있었다. 기본적으로, 무슨 일이 것은이었다

설정 : 사용자, '일부 사용자

네임 스페이스 : 사용자가 할; end

그래서 사용자 변수를 참조하려고 할 때마다 대신 네임 스페이스를 얻게됩니다. 네임 스페이스를 users : 네임 스페이스로 변경했습니다.

최종 솔루션 (OP에 의해 편집)

이 거의 돈이었다. 자산 파이프 라인 코드에는 행을 가진 원격 서버에서 코드를 실행하기 위해 선택했던 방법과 충돌하는 #{rake}에 대한 호출이 포함되었습니다. 레이크 네임 스페이스를 변경하면 문제가 해결되었습니다.

+1

+1. 나는 똑같은 일이 일어났다. 레이크 작업을 원격으로 실행하기 위해 rake라는 deploy.rb에 네임 스페이스가있었습니다. 나는 그것을 다음과 같이 변경했다 : raketask –

+0

@EricGoldberg 정확하게 나에게 일어난 일. 나는 '레이크 (rake)'네임 스페이스를 미적으로 가지는 것을 좋아하지만, 나는 가야만 할 것 같다. – evanrmurphy

-1

쓰기 #{Capistrano::Configuration::Namespaces::Namespace:0xa6a0cc}

+0

아니요. capistrano를 사용하여 무언가가 to_s를 호출하고 올바른 명령 대신 개체 ID를 출력하기 때문에 출력되고 있습니다. 그러나 어디서 또는 왜 그런지 모르겠습니다. – DGM

+0

그렇다면'deploy : migrate'의 정의없이 우리는 아무것도하지 않을 것입니다. – Hauleth

+0

그것은 내가 쓴 어떤 것이 아니라 카피 스트라 노 (capistrano)의 일부입니다 ... – DGM

0

예기치 않은 끝은 일반적으로 괄호와 같은 블록 또는 연산자를 폐쇄하지에서 발생한다. 또는 네임 스페이스 블록에 do이 누락되었을 수 있습니다. 구문이 제대로 닫히지 않았는지 다시 확인해야합니다.

구성을 교정 한 후에 오류를 발견하지 못하면 deploy.rb 구성으로 질문을 업데이트 할 수 있다면 도움이됩니다.

+0

흥미 롭군요,하지만 근원 관리가 마지막으로 일한 이후로 아무 것도 변하지 않았 음을 보여줍니다. – DGM

관련 문제