ruby - 无法让 Cron 处理这个 Ruby 脚本

标签 ruby cron

我正在尝试运行这个 cron

49 15 * * * ruby  /Users/nikosalt/Desktop/playing/twilio_send_text.rb

在我的 ruby​​ 脚本 twilio_send_text.rb 上,它看起来像这样:

require 'rubygems'
require 'twilio-ruby'

account_sid = 'AC5179a0c973e8a059da8676877887f65'
auth_token = 'my twilio auth token'
client = Twilio::REST::Client.new account_sid, auth_token


from = '+15146137221' # Your Twilio number
to = '+15142383468' # Your mobile phone number

client.messages.create(
from: from,
to: to,
body: "hello from cron"
)

当我运行 cron 时。我不断收到此错误:

Subject: Cron <niko@nikolass-MacBook-Pro> ruby  
/Users/nicolassaltarelli/Desktop/playing/twilio_send_text.rb
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=nicolassaltarelli>
X-Cron-Env: <USER=nicolassaltarelli>
X-Cron-Env: <HOME=/Users/nicolassaltarelli>
Date: Thu,  8 Mar 2018 16:05:00 -0500 (EST)

/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- twilio-ruby (LoadError)

from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'

from /Users/nicolassaltarelli/Desktop/playing/twilio_send_text.rb:2:in `'

我希望得到一些解决此问题的帮助。

最佳答案

如果您正在使用 rbenv,您需要为 cron 创建一个包装器,例如描述的 here .

最有可能发生的事情是您的计算机上有 2 个 ruby​​ 解释器:一个由 rbenv 管理,用于开发并在控制台上运行脚本;然后你就有了你的系统 ruby​​,它很可能是由 cron 调用的。这两个 ruby 很可能有不同的版本并且安装了不同的 gems 集。

或者,您可以切换到系统 ruby​​ 并安装 twilio-ruby

关于ruby - 无法让 Cron 处理这个 Ruby 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49182500/

相关文章:

ruby - 如何将持续时间(以毫秒为单位)显示为格式正确的字符串?

ruby - 是否有Ruby函数可以对两组字符串进行异或运算?

Ruby:环回枚举器

google-app-engine - GAE Cron Job 会等待之前的 Cron Job 完成后再运行吗?

php - 在 php 中正确放置和命名 .pem 文件以用于苹果通知的位置

ubuntu 10.10 中的 Php Cron 作业不会为 lampp 执行 - 需要帮助

linux - 帮助调试具有正确脚本路径并在手动触发时工作的 cron 作业

php - 如何在 PHP 中创建变量并将它们传递给 Ruby?

css - 带有嵌入式 ruby​​ 的 Bootstrap 中的媒体对象

python - 使用 P4 运行 crontab 作业