我有一个 cron 作业来运行 Ruby 脚本,该脚本在命令行上运行良好(来自用户“user”),但 cron 失败,因为它找不到 ruby gem TMail。我手动将 tmail gem 安装到我的 ~/.gems/ 目录中,由我的 ~/.bashrc 脚本指向,正如Nate所建议的那样。
从 shell 手动调用时(在死池服务器上)
./home/user/site.com/appdir/testbalances.sh
工作正常,但从 CRONtab 网络界面(相同的命令),我收到一个日志邮件:
/usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in
gem_original_require': no such file to load -- tmail (LoadError) from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in
require' 来自 afschriftmonitor/statement_monitor.rb:7
文件 afschriftmonitor/statement_monitor.rb:7 的第 6 行和第 7 行是
需要'rubygems' 需要'tmail'
似乎 CRON 正在从另一台服务器运行,或者它忽略了 ~/.bashrc 文件?我怎样才能解决这个问题?这似乎是一个 Dreamhost 托管特定问题,因为该脚本在我的 Mac 上本地运行良好,并且 - 如前所述 - 从我在 Dreamhost 上的 shell 帐户中运行良好。我很困惑。