使用 LaunchControl 运行 时 bash 脚本中出现错误

Error appearing in bash script when run with LaunchControl

我有以下脚本

#!/usr/bin/env ruby
Dir.chdir('/Users/Chris/Sites/mentor') do
  audit = `/Users/Chris/.rvm/gems/ruby-2.1.6@mentor/bin/bundle-audit`
  system(%(osascript -e 'display notification "#{audit}" with title "bundle-audit"'))
end

当我从我的本地文件夹中 运行 它时,它会发出类似

的通知
bundle-audit
No vulnerabilities found

但是,当同一脚本被 LaunchControl 定期 运行 时,通知只是

bundle-audit

标准错误输出是

env: ruby_executable_hooks: No such file or directory

我该如何解决这个问题?

解决此问题的一种方法是使用 here 中列出的教程。我总结了以下方法。摘要包括对我在学习教程时出现的问题的修复。

我的 ruby 任务叫做 daily_checks.rb 并且如下:

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

/usr/local/bin/regular_checks.sh 处设置一个 RVM 别名和一个 bash 文件,其中包含以下内容:

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

请注意,由于添加了 #!/bin/bash 行,上述内容与教程有所不同。

完成后,launchControl 会成功运行 bundle-audit 命令。