我正在尝试运行这个 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/