Ruby gem环境问题-LoadError:没有这样的文件要加载--robots

Ruby gem环境问题-LoadError:没有这样的文件要加载--robots,ruby,rubygems,gem,Ruby,Rubygems,Gem,我正在尝试使用海葵宝石编写一个爬虫程序,它需要机器人宝石。不管出于什么原因,机器人绝对不会包括。以下是我的一些环境信息: $ gem list -d robots *** LOCAL GEMS *** robots (0.10.1) Author: Kyle Maxwell Homepage: http://github.com/fizx/robots Installed at: /usr/local/lib/ruby/gems/1.9.1 Simple r

我正在尝试使用海葵宝石编写一个爬虫程序,它需要机器人宝石。不管出于什么原因,机器人绝对不会包括。以下是我的一些环境信息:

$ gem list -d robots

*** LOCAL GEMS ***

robots (0.10.1)
    Author: Kyle Maxwell
    Homepage: http://github.com/fizx/robots
    Installed at: /usr/local/lib/ruby/gems/1.9.1

    Simple robots.txt parser

$ gem env
RubyGems Environment:
  - RUBYGEMS VERSION: 1.8.10
  - RUBY VERSION: 1.9.2 (2011-02-18 patchlevel 180) [x86_64-darwin10.7.0]
  - INSTALLATION DIRECTORY: /usr/local/lib/ruby/gems/1.9.1
  - RUBY EXECUTABLE: /usr/local/bin/ruby
  - EXECUTABLE DIRECTORY: /usr/local/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86_64-darwin-10
  - GEM PATHS:
     - /usr/local/lib/ruby/gems/1.9.1
     - /Users/ryan/.gem/ruby/1.9.1
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - http://rubygems.org/

$ gem which robots
/usr/local/lib/ruby/gems/1.9.1/gems/robots-0.10.1/lib/robots.rb
有什么想法吗?所有其他宝石装载正确,我以前从未遇到过这个问题。注意,我使用的是RubyVersion1.9,因此rubygems是隐式必需的。添加

require 'rubygems'
…在脚本前面返回false,因为该文件已包含在内,并且对这种情况没有帮助。有什么想法吗

编辑:发布失败代码的示例。请注意,rubygems返回false并不意味着rubygems无法加载,而是它已经被加载。见此帖:

$irb
irb(主):001:0>要求“rubygems”
=>错误
irb(主):002:0>要求“活动记录”
=>正确
irb(主):003:0>要求“机械化”
=>正确
irb(主):004:0>要求“机器人”
LoadError:没有要加载的文件--robots
from/usr/local/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:59:in'require'
from/usr/local/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:59:in'rescue in require'
from/usr/local/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:35:in'require'
来自(irb):4
from/usr/local/bin/irb:12:in`'
irb(主要):005:0>

看起来gem是用错误的权限创建的;有一个

使用更改权限

sudo chmod a+r /usr/local/lib/ruby/gems/1.9.1/gems/robots-0.10.1/lib/robots.rb
应该修复它,但要注意其他权限问题。你和我在一起可能会更好

sudo chmod -R a+r /usr/local/lib/ruby/gems/1.9.1/gems/robots-0.10.1
递归地使gem中的所有文件可读


robots.rb
文件(以及其他一些文件)是以
-rw rw-->
权限安装的,因此任何使用本地安装rvm或类似gems作为本地用户安装的人都不会受到影响。

我的第一个建议是使用rvm,但这可能无法解决问题。我不知道。很抱歉你能发布失败的代码吗?
是否需要“rubygems”
需要“robots”
已经失败了?我发布了失败的代码。require'rubygems'并没有真正失败,因为它已经包含在内了。更多信息请参阅我提到的帖子。你是救命恩人——如果可以的话,我会不止一次投票支持你。非常感谢-这完全解决了问题。
sudo chmod -R a+r /usr/local/lib/ruby/gems/1.9.1/gems/robots-0.10.1