2

每当 gem 与 ruby​​ 1.9.2 一起使用时我都没有任何问题,但是我在我的服务器上安装了 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 

我为此苦苦挣扎了几个小时,感谢您的帮助!

4

3 回答 3

2

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

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

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

如果一切都失败了,您可以尝试rvm use 1.9.3 --default(假设您使用的是 rvm)

于 2012-03-29T23:25:58.200 回答
1

安装 ruby​​ 并不意味着也安装了所有的 gem。

也许您还需要在新的 ruby​​ 安装中安装 gems?


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

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

于 2012-03-29T22:53:05.980 回答
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 的经验。此外,无论何时 gem 将默认为生产。因此,如果您使用任何时候创建 cron 作业,您可能还需要说明:

bundle exec whenever --set 'environment=development' -w
于 2012-04-17T00:14:45.300 回答