로봇 보석이 필요한 말미잘 보석을 사용하여 크롤러를 작성하려고합니다. 어떤 이유로 든 로봇에는 절대 포함되지 않습니다. 내 환경 정보는 다음과 같습니다.Ruby 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를 반환하고, 상황에 도움이되지 않습니다. 어떤 아이디어?
EDIT : 실패한 코드의 게시 예. 루비 젬이 false를 반환한다고해서 루비 젬이로드 될 수 있다는 것을 의미하지는 않습니다. 루비 젬은 이미로드되어 있습니다. 이 게시물을 참조 : 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
실패한 코드를 게시 할 수 있습니까? '루비 보석'과 '로봇'이 이미 필요합니까? – rdvdijk
실패한 코드를 게시했습니다. require 'rubygems'는 이미 포함되어 있기 때문에 실제로 실패하지 않습니다. 자세한 내용은 내가 언급 한 게시물을 참조하십시오. – rybosome