2011-08-17 31 views
6

Tôi đã nâng cấp lên đường 3.0.9 đã giới thiệu các vấn đề về cào. Tôi đã nhận được tất cả giải quyết ngoại trừ một vấn đề với một công việc cron.vấn đề về cron và gói exec

này được sử dụng để làm việc:

#!/bin/sh 
source /usr/local/rvm/scripts/rvm 
cd /home/p1r65759/apps/abbc/ 
/usr/local/bin/rake refresh_events RAILS_ENV=production 

Nhưng bây giờ tôi nhận được lỗi này: Bạn đã kích hoạt cào 0.8.7, nhưng Gemfile của bạn yêu cầu cào 0.9.2. Xem xét sử dụng gói exec. /home/p1r65759/apps/abbc/Rakefile: 4: trong `' (Xem toàn bộ dấu vết bằng cách chạy nhiệm vụ với --trace)

Làm thế nào để tôi sửa đổi kịch bản của tôi để sử dụng bó exec vì vậy nó sẽ sử dụng thích hợp phiên bản của cào và chạy thành công? Cảm ơn.

+0

Có vấn đề tương tự nhưng không có RVM. Dù sao, có lẽ bạn có thể chỉ định đường dẫn để rake 0.9.2 hoặc cập nhật đá quý hệ thống của bạn rake 0.9.2 (tùy thuộc vào nếu đây là ứng dụng duy nhất trên máy chủ ...) – wesgarrison

+0

Cố định, nhờ hỗ trợ kỹ thuật tại HostingRails.com . Chỉ cần thay đổi dòng cuối cùng để bó exec rake refresh_events RAILS_ENV = sản xuất. Không cần con đường trước mặt nó. Tôi không biết bạn có thể làm điều đó. – Brett

+0

Thêm câu trả lời đó, sau đó và chấp nhận câu trả lời đó. Đối với hậu thế và googlers trong tương lai :-) – wesgarrison

Trả lời

9

Nếu bạn đang sử dụng gói cho ứng dụng của mình thì bạn không cần sử dụng "/ usr/local/bin/rake" làm đường dẫn cho rake.

bạn chỉ có thể sử dụng

bundle exec rake

nên kịch bản mới của bạn sẽ được

 
#!/bin/sh 
source /usr/local/rvm/scripts/rvm 
cd /home/p1r65759/apps/abbc/ 
bundle exec rake refresh_events RAILS_ENV=production 

bó exec sẽ làm việc vì bạn đã có trong thư mục dự án của bạn.

Và đừng quên bao gồm rake trong Gemfile của bạn.

4

thay vì

/usr/local/bin/rake refresh_events RAILS_ENV=production 

bạn nên sử dụng

bundle exec rake refresh_events RAILS_ENV=production 

hoặc tốt hơn chưa cài đặt bó của bạn với --binstubs:

bundle install --binstubs --without development test 

sau đó bạn sẽ có bin/rake:

./bin/rake refresh_events RAILS_ENV=production 
Các vấn đề liên quan