每当Gem在Ruby 1.9.3上出错时 - 没有这样的文件加载

时间:2012-03-29 22:49:51

标签: ruby rubygems whenever

我曾经使用ruby 1.9.2的gem,没有任何问题,但我在我的服务器上安装了ruby 1.9.3p125并且它停止了工作。

我的cron_error.log文件中出现以下错误:

/usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require': no such file to load -- bundler/setup (LoadError)
from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `require'
from /home/APP_NAME/config/boot.rb:6
from script/rails:5:in `require'
from script/rails:5

我检查了rake,gem和ruby的路径,一切都在“/ usr / local / bin /”下,我的路径如下:

/usr/local/jdk/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/lib/courier-imap/sbin:/usr/lib/courier-imap/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin:/usr/X11R6/bin:/root/bin 

我正在为此奋斗数小时,任何帮助表示赞赏!

3 个答案:

答案 0 :(得分:2)

你正在使用rvm吗?您可能必须将其设置为使用1.9.3。您的错误显示它使用的是默认系统ruby,即版本1.8:

/usr/lib/ruby/site_ruby/1.8/...

您可以使用which ruby检查路径。

如果所有其他方法都失败了,您可以尝试rvm use 1.9.3 --default(假设您使用的是rvm)

答案 1 :(得分:1)

安装ruby并不意味着所有宝石都已安装。

也许您需要在新的ruby安装中安装gem?


您的错误消息是在ruby 1.8路径中,而不是在新安装的ruby 1.9中。你确定你使用正确的ruby版本吗?

也许您的rails连接到旧的ruby 1.8安装?

答案 2 :(得分:0)

如果你使用rvm,你不能只是:

rvm use 1.9.3 --default

你也需要说明gemset,因此有一个接受的.rvmrc来说明gemset很重要。

rvm use ruby-1.9.3-p125@rails-3.2.3 --default 

似乎也有效。

至少这是我使用上述版本的ruby和rails的经验。此外,每当宝石默认生产。因此,如果您使用何时创建cron作业,您可能还想说明:

bundle exec whenever --set 'environment=development' -w