У меня установлено несколько драгоценных камней, и я пытаюсь использовать их в приложении на Ruby:
require 'rubygems'
require 'mygem'
Когда я запускаю приложение, я получаю эту ошибку: <internal:lib/rubygems/custom_require>:29:in
require ': такой файл не загружается - mygem (LoadError) `
Но если я попытаюсь потребовать драгоценный камень внутри irb
(сначала убедитесь, что он "требует" rubygems), он будет работать нормально. Что я должен сделать? Я пытался найти эту проблему, но не понял.
Выполнение which
на ruby
, gem
и irb
показывает, что они все в /opt/local/bin/
, т.е.
> which ruby
/opt/local/bin/ruby
> which gem
/opt/local/bin/gem
> which irb
/opt/local/bin/irb
Обновление для ответа на поставленные вопросы (yep, irb и ruby указывают на разные папки):
$LOAD_PATH
и $:
в irb оба содержат указатель на папки ruby 1.8:
/opt/local/lib/ruby/site_ruby/1.8
/opt/local/lib/ruby/site_ruby/1.8/i686-darwin10
/opt/local/lib/ruby/site_ruby
/opt/local/lib/ruby/vendor_ruby/1.8
/opt/local/lib/ruby/vendor_ruby/1.8/i686-darwin10
/opt/local/lib/ruby/vendor_ruby
/opt/local/lib/ruby/1.8
/opt/local/lib/ruby/1.8/i686-darwin10
.
$:
в рубинах указывает на папки ruby 1.9.1:
/usr/local/lib/ruby/site_ruby/1.9.1
/usr/local/lib/ruby/site_ruby/1.9.1/i386-darwin9.8.0
/usr/local/lib/ruby/site_ruby
/usr/local/lib/ruby/vendor_ruby/1.9.1
/usr/local/lib/ruby/vendor_ruby/1.9.1/i386-darwin9.8.0
/usr/local/lib/ruby/vendor_ruby
/usr/local/lib/ruby/1.9.1
/usr/local/lib/ruby/1.9.1/i386-darwin9.8.0
gem env
показывает
RubyGems Environment:
- RUBYGEMS VERSION: 1.4.1
- RUBY VERSION: 1.8.7 (2010-12-23 patchlevel 330) [i686-darwin10]
- INSTALLATION DIRECTORY: /opt/local/lib/ruby/gems/1.8
- RUBY EXECUTABLE: /opt/local/bin/ruby
- EXECUTABLE DIRECTORY: /opt/local/bin
- RUBYGEMS PLATFORMS:
- ruby
- x86-darwin-10
- GEM PATHS:
- /opt/local/lib/ruby/gems/1.8
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :benchmark => false
- :backtrace => false
- :bulk_threshold => 1000
- "gempath" => ["/opt/local/lib/ruby/gems/1.8"]
- :sources => ["http://rubygems.org/", "http://gems.github.com", "http://gems.github.com"]
- REMOTE SOURCES:
- http://rubygems.org/
- http://gems.github.com
- http://gems.github.com
Gem.path
в irb указывает на
/Users/grautur/.gem/ruby/1.8
/usr/local/lib/ruby/gems/1.8
Gem.path
в рубинах указывает на
/Users/grautur/.gem/ruby/1.9.1
/usr/local/lib/ruby/gems/1.9.1