Я пытаюсь настроить crontab для работы с огурцом. До сих пор я смог заставить crontab выполнить команду ruby, но не команду cucumber.
Вот что я имею в crontab:
- ~/test.sh> ~/out.log 2> err.log
Если я делаю это в test.sh, он работает нормально:
/ Абсолютный путь к рубину ~/ test.rb
Однако, если я делаю это в test.sh, это не удалось:
/ Абсолютный путь к огурцу ~/ test.feature
Вот что он печатает в err.log:
нет такого файла для загрузки - капибара / огурец (LoadError)
Тем не менее, если я запускаю test.sh (/Absolute-path-to-cucumber ~/test.feature) в терминале, это не проблема.
Итак, я думаю, что cron и терминал не используют одну и ту же версию ruby (следовательно, проблема среды).
Когда я сделал в терминале $ ruby -rpp -e 'pp ENV', он дал мне следующее:
"_" => "/Users/ имя / .rvm / рубины / рубиново-1.9.3-p392 / бен / рубин"
Когда я сделал ту же команду в cron, он дал мне это в файле журнала:
"_" => "/ USR / бен / рубин"
Таким образом, похоже, что cron использует системный ruby (1.8.7), а терминал использует пользовательский ruby (1.9.3). Я пробовал все виды вещей, которые мог найти, чтобы cron использовал ruby 1.9.3, но пока мне не повезло.
Может ли какой-либо орган дать мне подсказку или указание о том, как действовать дальше? Спасибо за помощь.