【问题标题】:Load Error in ruby while loading "need" gem加载“需要”宝石时在红宝石中加载错误
【发布时间】:2014-02-27 05:04:47
【问题描述】:

在 ruby​​ 中加载“need”gem 时出现加载错误,并且 gem 已安装在系统上

require 'need'
need('filename.rb') 

错误

/usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in gem_original_require': no such file to load -- need (LoadError) from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:inrequire' 来自 /home/user/public_html/.../cron_processor.rb:4

【问题讨论】:

  • 将错误添加到您的问题中。
  • /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in gem_original_require':没有要加载的文件——需要(LoadError)来自/usr/local/ lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:inrequire' 来自 /home/user/public_html/.../cron_processor.rb:4
  • 1.8.7?尝试在第一个要求之前添加它:require 'rubygems'
  • 已经在所有 require 语句之前添加
  • 运行 rails 服务器时会出现这种情况吗?或者当你运行 rails runner 时?如果是跑步者,是否是从 cron 调用的?

标签: ruby-on-rails ruby


【解决方案1】:

根据错误中的 ruby​​gems 路径,您似乎没有使用 RVM 来管理 Ruby。由于权限的原因,这可能会导致 gem 出现各种问题。或者也可能安装了多个版本的 Ruby。您可以通过which -a ruby 进行检查。您还可以使用gem env 查看您的 gem 变量,以查看 rails 在哪里寻找 gem 安装。它可能与您为系统安装 gem 的目录不同。

如果您不想安装 RVM,您可以通过更新用户 bash 文件手动更改 gem 环境变量,但除非您有特定原因不使用 RVM,否则它可能会节省您的时间。

您也可以尝试whereis ruby 来查看您的用户的默认 ruby​​ 的位置。如果这与用于加载 ruby​​ gem 的路径不同,那么您将收到加载错误,因为该版本的 ruby​​ 不存在 gem。

【讨论】:

    猜你喜欢
    • 2011-04-08
    • 1970-01-01
    • 2013-01-18
    • 2011-02-12
    • 1970-01-01
    • 1970-01-01
    • 2017-04-18
    • 2011-04-15
    • 1970-01-01
    相关资源
    最近更新 更多