2013-03-13 1 views
1

최근 Rails 3 앱용 프로덕션 서버를 설치했습니다.Rails 3, Bundler 및 RVM을 사용하여 새로운 제품을 찾을 수 없음

처음 배포 할 때 모든 것이 잘 동작했습니다. 후속 전개에서 프로젝트에 추가 된 새로운 보석을 찾을 수 없습니다. 새로 추가 된 보석에서 클래스와 메소드를 참조 할 때 uninitialized constantundefined method 오류가 발생합니다.

원래 물건을 설치했을 때 RVM과 함께 gemset을 사용했지만 gemset을 제거하고 RVM 만 사용하여 루비를 관리함으로써 단순화하려고했습니다.

bundle list을 실행하면 모든 것이 있습니다. 모든 보석이 있습니다 <app_root>/shared/bundle/ruby/1.9.1/gems/

원래 보석과 같은 다른 위치에서 보석이로드 된 것 같습니다.하지만 삭제했습니다. 나는 물론 카피 스트라 노, 유니콘을 사용하고

일부 기타 세부 사항, 내 GEM_HOME=/home/deployer/.rvm/gems/ruby-1.9.3-p286

내가 제공 할 수있는 다른 정보가 있으면 알려주세요.

감사합니다. 당신이 bundler/capistrano 통합을 사용하는 경우

bundle exec rake db:migrate 

다음은 capistano에 당신을 위해 그것을 않지만 콘솔에 필요한 : 당신처럼 명령을 실행할 때

+0

gemset을 제거한 후에 다시'bundle_install'을 실행 했습니까? – Arjan

+0

예, 했어요. 그리고 모든 배포에서 유니콘을 다시 시작합니다. 나는 그것을 여러 번 다시 시작했다. 나는 완전히 멈추고 그 다음 시작했다. 그리고 그것은 일시적으로 적어도 고정되어있는 것처럼 보인다. 그러나 나는 그것이 영구적으로 고정되어 있다고 확신하지 않는다. 나는 행동이 똑같은지보기 위해 새로운 보석으로 나중에 다시 테스트 할 것이다. – Todd

답변

0

당신이 접두사 다음 당신은 또한이 bundle install --deployment를 사용하는 경우는 bundle exec와 명령 수동으로 bundle exec을 사용하십시오.

RVM은 rubygems-bundler gem으로 피할 수 있도록 도와 주었지만 gemset을 변경하여 생성 된 래퍼를 더 이상 사용할 수 없도록했습니다. 을 다시 입력하지 않으려면 <app_root>/shared/bundle/ruby/1.9.1/gems/을 청소하고 bundle install을 다시 실행하여 래퍼를 재생성해야합니다.

0

비슷한 문제가 있습니다. Capistrano가 유니콘을 제대로 다시 시작하지 못하는 것으로 나타났습니다. 서버에 SSHing하고 유니콘을 시작하는 것을 멈추는 것이 성공했습니다. 이제 Capistrano의 헛소리에 대한 해결책을 찾으십시오 ...

관련 문제