Fehler beim Erstellen einer Ruby-Startaufgabe mit RVM in OS X

578
Obromios

Ich möchte regelmäßig einen auf Ruby gem basierten Befehl ausführen. Ich verwende RVM und nach dem Tutorial aufgeführt hier .

Meine Ruby-Aufgabe heißt daily_checks.rbund lautet wie folgt:

#!/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 

Ich habe einen RVM-Alias ​​und eine Bash-Datei unter eingerichtet /usr/local/bin/regular_checks.sh

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

Wenn ich /usr/local/bin/regular_checks.shdann laufe, wird die Ruby-Datei ausgeführt und funktioniert erfolgreich.

Ich habe dann eine plist bei eingerichtet /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> 

Wenn ich diesen Job mit launchControl ausführen, scheint der Job mit der Fehlernummer 78 fehlzuschlagen. Die puts 'in here'Ruby-Datei wird nicht ausgeführt.

Die Dateiberechtigungen werden wie im Lernprogramm angezeigt

-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 

Was ist Fehler 78 und warum läuft die Datei nicht richtig?

1

1 Antwort auf die Frage

0
Obromios

Es scheint, dass der Fehler 78 darin liegt, dass die /usr/local/bin/regular_checks.shDatei keine #!/bin/basherste Zeile hat. Der vollständige Inhalt der Datei sollte sein

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