Ошибка создания задачи запуска Ruby с помощью RVM в OS X

369
Obromios

Я хочу периодически запускать команду ruby ​​gem. Я использую RVM и следую инструкциям, изложенным здесь .

Моя задача ruby ​​называется daily_checks.rbи выглядит следующим образом:

#!/usr/bin/env ruby puts 'in here' Dir.chdir('/Users/Chris/Documents/Sites/mentor') do audit = `bundle-audit` system(%(osascript -e 'display notification "#" with title "bundle-audit"')) end 

Я установил псевдоним RVM и файл Bash в /usr/local/bin/regular_checks.sh

/Users/Chris/.rvm/wrappers/regular_checks/ruby /Users/Chris/Documents/Sites/mentor/script/daily_checks.rb 

Когда я запускаю, /usr/local/bin/regular_checks.shтогда файл ruby ​​выполняется и работает успешно.

Затем я настроил список /Users/Chris/Library/LaunchAgents/local.temp.plist

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Disabled</key> <false/> <key>EnvironmentVariables</key> <dict> <key>PATH</key> <string>/bin:/usr/bin:/usr/local/bin</string> </dict> <key>Label</key> <string>local.temp</string> <key>LaunchOnlyOnce</key> <false/> <key>Program</key> <string>/usr/local/bin/regular_checks.sh</string> <key>RunAtLoad</key> <true/> <key>StandardErrorPath</key> <string>/tmp/test.stderr</string> <key>StandardOutPath</key> <string>/tmp/test.stdout</string> <key>StartInterval</key> <integer>300</integer> </dict> </plist> 

Когда я запускаю это задание с помощью launchControl, задание, по-видимому, завершается с ошибкой 78. puts 'in here'Файл в файле ruby ​​не выполняется.

Права доступа к файлам выглядят так же, как и в учебнике, т.е.

-rwxr--r-- 1 Chris staff 699 24 Nov 20:16 local.temp.plist -rwxr-xr-x 1 Chris admin 111 24 Nov 20:10 /usr/local/bin/regular_checks.sh -rwxr-xr-x 1 Chris admin 207 25 Nov 13:38 daily_checks.rb 

Что такое ошибка 78 и почему файл не работает должным образом?

1

1 ответ на вопрос

0
Obromios

It appears that the error 78 is because the /usr/local/bin/regular_checks.sh file does not have #!/bin/bash as the first line. The full content of the file should be

#!/bin/bash /Users/Chris/.rvm/wrappers/regular_checks/ruby /Users/Chris/Documents/Sites/mentor/script/daily_checks.rb