2010-12-13 2 views
5

내 응용 프로그램에서 whenever 보석을 사용하려하지만 schedule.rb에서 rake 명령을 실행할 수 없습니다. 던지고있다언제든지 사용하는 문제

오류 내 모든 보석이 응용 프로그램에 얼어 붙었다되도록 나는 또한 들러를 사용하고

/bin/bash: rake: command not found 

입니다.

답변

4

레이크가/usr/local/bin과 같이 비정형 인 곳입니까? schedule.rb에 추가해주세요.

env :PATH, '/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin' 
0

레이크 대신 '명령'을 사용해보세요. 내 레이크가/usr/local/bin에 있고 어떻게 작동하는지 알아낼 수 없습니다. 여기 예를 들어 schedule.rb에있는 명령의 예가 있습니다 :

every 5.minutes do 
    command "cd " + `pwd`.chomp + " && RAILS_ENV=#{environment} /usr/local/bin/rake rakefile:rakemethod" 
end 

또한이 예제에서는 환경을 전달해야합니다. 나는 당신이 schedule.rb를 호출 할 때마다 '--update_crontab --set environment = beta'를 사용하는 것으로 생각한다.

카피스트라노는 언제나 카피스트라노 조리법을 사용하여 언제든지 할 수 있습니다 (소스마다 lib 디렉토리 참조). capistrano 배포 스크립트에서 anywhere_environment를 설정해야합니다.

언제든지 프로덕션 환경에 기본 설정을 적용 할 수 있습니다. 즉, 프로덕션에서만이 작업을 수행하는 경우 RAILS_ENV = # {환경}이 필요하지 않을 수 있습니다. 몇 가지 스테이징 환경이있어서 스크립트를 돕기 위해 환경에 전달합니다.

다른 레이크 디렉토리 만 지정하면/usr/local/bin/rake와 함께 사용할 수 있습니다. 누구든지 그 앞에서 도울 수 있니?

관련 문제