2012-11-18 3 views
0

Capistrano 배치 중에이 오류 메시지가 나타납니다. Rails가 설치되어 있거나 뭔가 잘못되어 있다는 것을 나에게 암시 해 주는가? 레일스는 이 아니고 서버 측에 현재 설치된은 아니지만이 파일은 내 Gemfile (및 내 Gemfile.lock)에 있으므로이 라인보다 먼저 실행되는 bundle install 명령 중에 설치해야한다고 가정하고 있습니다. 오류를주고Capistrano 배치 중 정의되지 않은 메소드`action_mailer '

실제 명령은 다음과 같습니다

bundle exec rake RAILS_ENV=production RAILS_GROUPS=assets assets:precompile

나는 문제가 레일 번들 설치를하는 동안 설치되지 않는 것을 그냥 같아요. 내가 놓친 게 있니?

감사합니다.

업데이트 1 : 레일이 bundle install 명령을 통해 올바르게 설치되고있는 것으로 보입니다. 디렉토리 .../shared/bundle/ruby/1.9.1/gems을 확인하면 거기에 조치 우편물이 있습니다.

업데이트 2 : 실제로 rake assets:precompile 명령을 실행해도 로컬에서도 실패하므로 카피 스트라 노와는 아무런 관련이 없습니다. 이제는 왜 config 개체가 작업 메일러에 대해 알지 못하는지 알아야합니다.

업데이트 3 : 흔적을 남깁니다. 내 설치 버전의 actionmailer가 0.6.1 (?!) 인 반면 나머지 모든 레일스 자료는 3.2.9입니다. bundle update이 (가)이 버전 이후에 actionmailer를 업데이트하는 것을 거부합니다. 나는 모든 보석을 벗기고 신선한 것을 시작하겠습니다.

업데이트 4 : 내 전체 보석을 rvm gemset empty을 사용하여 삭제했습니다. 그런 다음 번들을 다시 실행하려고 시도했으며 을 다시으로 보내고 actionmailer 0.6.1을 얻으려고합니다. 나는 어떤 것이 bundler 또는 무엇인가에 속아 넘어 졌다고 생각한다.

+0

서버 측에서 루트로 실행하고 있습니까? – cdesrosiers

+0

나는 유닉스 컴퓨터에서'sudo' 그룹의 회원 인 사용자로 실행 중입니다. 아니, 루트 권한으로 실행되지는 않지만 권한이 있어야합니다. 그것은 초기 단계에서 디렉토리 및 물건을 만들 수 있습니다 ... – aardvarkk

+0

또한 Gemfile.lock을 삭제하십시오 – platforms

답변

1

문제는 결국 내 Gemfile에 특정 버전의 Rails에 대한 종속성을 제거했다. 나는 방금 gem "rails"을 가지고 있었다. 그것이 모든 보석에서 일관성있는 버전을 얻는 것보다는 오히려 행동 메일러의 슈퍼 버전을 얻었 기 때문에 의존성 계산을 완전히 방해하는 것처럼 보였습니다. 정확한 Rails 버전을 지정하지 않는 것은 나쁜 생각입니다. Yikes!

1

@aardvarkk이 문제를 게시, 내 레일 4.0.0의 설치 및 오류와 같은 오류를 가졌다

덕분에 내 레일을 서버

을 실행에서 저를 방지했다입니다 I 동안 RoR을위한 Hartl Tutorial을 따르려고합니다.

내 보석 파일에 gem "rails", '4.0.0'을 추가 했으므로 이제 내 레일 서버를 실행할 수 있습니다.

고맙습니다.

관련 문제