2011-09-23 5 views
0

저는 레일 3.1.0을 사용 중이며 자산을 사전 컴파일하도록 Capistrano를 설정하려고합니다. Capistrano v2.8.0은 Capfile에 "load 'deploy/assets'"을 가지고 있습니다.Capistrano로 자산을 사전 컴파일하면 'deploy/assets'로드시 오류가 발생합니다.

cap deploy 
/usr/lib/ruby/1.8/capistrano/configuration/loading.rb:183:in `find_file_in_load_path': no such file to load -- deploy/assets (LoadError) 
from /usr/lib/ruby/1.8/capistrano/configuration/loading.rb:171:in `load_from_file' 
from /usr/lib/ruby/1.8/capistrano/configuration/loading.rb:89:in `load' 
from /usr/lib/ruby/1.8/capistrano/configuration/loading.rb:86:in `load' 
from /usr/lib/ruby/1.8/capistrano/configuration/loading.rb:86:in `each' 
from /usr/lib/ruby/1.8/capistrano/configuration/loading.rb:86:in `load' 
from Capfile:3:in `load' 
from /usr/lib/ruby/1.8/capistrano/configuration/loading.rb:172:in `load_from_file' 
from /usr/lib/ruby/1.8/capistrano/configuration/loading.rb:89:in `load' 
from /usr/lib/ruby/1.8/capistrano/configuration/loading.rb:86:in `load' 
from /usr/lib/ruby/1.8/capistrano/configuration/loading.rb:86:in `each' 
from /usr/lib/ruby/1.8/capistrano/configuration/loading.rb:86:in `load' 
from /usr/lib/ruby/1.8/capistrano/cli/execute.rb:64:in `load_recipes' 
from /usr/lib/ruby/1.8/capistrano/cli/execute.rb:64:in `each' 
from /usr/lib/ruby/1.8/capistrano/cli/execute.rb:64:in `load_recipes' 
from /usr/lib/ruby/1.8/capistrano/cli/execute.rb:30:in `execute!' 
from /usr/lib/ruby/1.8/capistrano/cli/execute.rb:14:in `execute' 
from /usr/bin/cap:4 

UPDATE

그것은 마술 내 PC (우분투)를 다시 시작한 후 작업을 시작했다 : 나는 "모자 배포"를 실행 때 다음과 같은 오류를 보여줍니다.

답변

1

사용중인 cap이 실제로 번들에 있음을 증명할 수 있습니까?

Gemfile과 Capfile을 공유하십시오. "cap"이 번들에 없으므로 이전 버전을로드 할 수 있습니다. "bundle exec"(올바른 capistrano를 사용해야합니다.)

+0

감사합니다.이 "번들 실행"옵션에 대해 알지 못했습니다. – Evgenii

+1

번들러의 요구 사항입니다. 그렇지 않으면 시스템 전체에 설치된 캡을 사용합니다. 번들 exec을 사용하면 gemfile에 지정된 것을로드합니다. 또 다른 방법은 번들'--binstubs' 옵션을 사용하고 이에 따라'$ PATH'를 수정하는 것입니다. 자세한 내용은 여기를 참고하십시오 : http://blog.davidchelimsky.net/2011/07/18/stop-typing-bundle -exec/ –

1

현재 동일한 문제가 발생하여 프로젝트 관련 .rvmrc와 함께 RVM을 사용하면 git checkout으로 분기를 전환 한 후에 다시로드되지 않는 것으로 나타났습니다. 그 결과 시스템 전체 capistrano 버전 2.6.0이 프로젝트 특정 capistrano 버전 2.9.0 대신 사용되었습니다. 이로 인해 'no such file to deploy/assets (LoadError)'오류 메시지가 표시됩니다.

프로젝트 경로에서 벗어나 다시 프로젝트 경로로 이동하면 간단한 문제가 해결됩니다.

1

이 문제에 대해 저에게 도움이 된 기능은 최신 버전의 카피 스트라노 (gem install capistrano)를 설치하는 것입니다.

+0

번들 또는 업데이트 된 카피스트라 노 보석을 받으려면 무엇이든지 업데이트하십시오. 아마도 시스템 루비를 돌리기 때문일 것입니다. – Matt

관련 문제