Вы можете сделать так, чтобы основной скрипт изменил свой каталог:
Dir.chdir File.dirname(__FILE__)
Возможно, вам придется настроить его, используя File.expand_path
, чтобы получить корневой каталог вашего приложения (где Gemfile
). Предположим, ваш скрипт /apps/myapp/bin/main.rb
; строка chdir
будет иметь вид:
Dir.chdir File.expand_path('../..', __FILE__)
Конечно, вы должны убедиться, что ваше приложение не сломалось из-за chdir - но не должно, если вы cd
работаете в cron.
Если скрипт является демоном и вы хотите, чтобы он был изменен на корневой каталог /
во время нормальной работы, вы можете сделать это после вызова Bundler.setup
или Bundler.require
.
Хотя вы можете сделать cd
в cron, я предпочитаю этого не делать, потому что cron уже достаточно сложен для чтения и обслуживания.