Cron

為什麼 cron 使用與我的使用者不同的 Ruby 以及如何修復它?

  • March 1, 2015

我有一個 Ruby 腳本的 cron 作業。問題是ruby執行檔與預期不同。Ruby 是從原始碼安裝的,因此它應該是新的全域預設值。

$ ssh root@example.com

root@example.com$ ruby -v
ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-linux]

root@example.com$ which ruby
/usr/local/bin/ruby

我目前有我的腳本顯示目前使用者、ruby 路徑和 ruby​​ 版本:

# whoami
root

# which ruby
/usr/bin/ruby

# ruby -v
ruby 1.8.7 (2011-06-30 patchlevel 352) [x86_64-linux]

我該如何糾正這個問題?

**更新:**執行的第一個 Ruby 文件的頂部有這一行:

#!/usr/bin/env ruby

設置您的 $PATH 以便首先列出包含您想要的版本的目錄。

和/或

將腳本中的第一行更改為直接指向所需的 ruby​​ 版本:

#!/usr/bin/ruby

引用自:https://serverfault.com/questions/551227