我正在嘗試編寫一個使用海葵寶石的履帶,這需要機器人的寶石。無論出於何種原因,機器人絕對不會包括在內。下面是我的一些環境信息:紅寶石gem環境問題 - LoadError:沒有這樣的文件加載 - 機器人
$ 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
任何想法?所有其他寶石加載正確,我從來沒有遇到過這個問題。請注意,我使用的是Ruby 1.9版本,因此需要rubygems。添加
require 'rubygems'
...到一個腳本的前面返回false,因爲該文件已經包含在內,並沒有幫助的情況。有任何想法嗎?
編輯:發佈失敗代碼的示例。請注意,返回false的rubygems並不意味着rubygems無法加載 - 而是它已經被加載。看到這個帖子:http://www.ruby-forum.com/topic/157442
$ irb
irb(main):001:0> require 'rubygems'
=> false
irb(main):002:0> require 'active_record'
=> true
irb(main):003:0> require 'mechanize'
=> true
irb(main):004:0> require 'robots'
LoadError: no such file to load -- 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'
from (irb):4
from /usr/local/bin/irb:12:in `<main>'
irb(main):005:0>
我的第一個建議是使用RVM,但這可能無法解決問題。我不知道。抱歉! – ZMorek
你可以發佈失敗的代碼嗎? '需要'rubygems''和'require'robots''是否已經失敗? – rdvdijk
我發佈了我的失敗代碼。要求'rubygems'並不真正失敗,因爲它已經包含在內。請參閱我提到的文章以獲取更多信息。 – rybosome