2012-02-16 30 views
1

我安排這個的cronjob:紅寶石cron作業,拋出 「沒有這樣的文件來加載 - 過時」 的錯誤

ruby twitter_bots/tweet_bots.rb 

tweet_bots.rb:

#!/usr/bin/ruby 

require 'rubygems' 
require '/home/david/twitter_bots/twitterbot.rb' 

mcnulty = TwitterBot.new('jamesmcnulty') 
mcnulty.tweet 
mcnulty.reply 
mcnulty.close 

twitterbot.rb:

require 'dbi' 
require 'twitter' 

class TwitterBot 
    ... 

這個cron有這些環境變量:

SHELL=/bin/sh 
PATH=/home/david/.rvm/gems/ruby-1.9.2-p290/bin:/home/david/.rvm/gems/[email protected]/bin:/home/david/.rvm/rubies/ruby-1.9.2-p290/bin:/home/david/.rvm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games 
HOME=/home/david 
LOGNAME=david 

但它拋出這個錯誤:

/home/david/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': no such file to load -- deprecated (LoadError) 
    from /home/david/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require' 
    from /home/david/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/dbi.rb:48:in `<top (required)>' 
    from /home/david/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require' 
    from /home/david/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require' 
    from /home/david/twitter_bots/twitterbot.rb:1:in `<top (required)>' 
    from /home/david/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require' 
    from /home/david/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require' 
    from twitter_bots/tweet_bots.rb:5:in `<main>' 

我可以看到錯誤來自/home/david/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/dbi.rb:48地方有require "deprecated"

但我安裝了不推薦使用的gem v 2.0.1。我也用3.0.0版來試用它。

當我手動運行它,它的工作原理。 cron有什麼問題?

+0

當我已經棄用V 3安裝,運行它扔手動此錯誤:'/home/david/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/ site_ruby/1.9.1/dbi/utils/date.rb:57:在''中:未定義的方法'deprecate'爲DBI :: Date:Class(NoMethodError)'。所以我卸載了它。 – 2012-02-16 23:28:04

+0

你可以粘貼twitterbot.rb的代碼嗎? 關於v 3 - 你可以嘗試使用紅寶石 - 1.9.3嗎?當您嘗試使用rvm或正確卸載ruby時。 – 2012-02-16 23:28:35

回答

1

我猜你需要deprecated寶石。

嘗試:

[sudo] gem install deprecated 
+0

hm,我已經安裝了不推薦使用的gem。它的版本是2.0.1。 – 2012-02-16 23:39:00

+0

嗯,嘗試更新紅寶石版本,並讓我知道 – 2012-02-16 23:40:58

+0

你檢查加載路徑?這是對的嗎? – 2012-02-16 23:44:53

相關問題