我有一个 cron 作业,它是一个 Ruby 脚本。问题是ruby
可执行文件与预期不同。Ruby 是从源代码安装的,因此它应该是新的全局默认值。
$ ssh [email protected]
[email protected]$ ruby -v
ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-linux]
[email protected]$ 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
答案1
设置您的 $PATH 以便首先列出包含您想要的版本的目录。
和/或
更改脚本中的第一行以直接指向您想要的 ruby 版本:
#!/usr/bin/ruby