nikhil
nikhil

Reputation: 9385

irb doesn't load gem that I created

I'm using jruby in 1.9 mode.

➜  nittresults git:(master) ✗ ruby -v
jruby 1.6.7.2 (ruby-1.9.2-p312) (2012-05-01 26e08ba) (Java HotSpot(TM) 64-Bit Server VM 1.6.0_24) [darwin-x86_64-java]
➜  nittresults git:(master) ✗ which gem
gem: aliased to jruby --1.9 -S gem
➜  nittresults git:(master) ✗ which irb
irb: aliased to jruby --1.9 -S irb

I have created a gem nittresults, after installing it I can't load it inside irb. The error message is shown below

➜  nittresults git:(master) ✗ gem list | grep -i nitt
nittresults (0.0.1)
➜  nittresults git:(master) ✗ irb
irb(main):001:0> require 'nittresults'
LoadError: no such file to load -- nittresults
    from org/jruby/RubyKernel.java:1042:in `require'
    from /Library/Frameworks/JRuby.framework/Versions/Current/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `require'
    from (irb):1:in `evaluate'
    from org/jruby/RubyKernel.java:1088:in `eval'
    from org/jruby/RubyKernel.java:1410:in `loop'
    from org/jruby/RubyKernel.java:1197:in `catch'
    from org/jruby/RubyKernel.java:1197:in `catch'
    from /Library/Frameworks/JRuby.framework/Versions/Current/bin/jirb:13:in `(root)'

How can I get it to load inside of irb? I'm on osx snow leopard 10.6.8.

Here is the output og gem env

RubyGems Environment:
  - RUBYGEMS VERSION: 1.8.24
  - RUBY VERSION: 1.9.2 (2012-05-01 patchlevel 312) [java]
  - INSTALLATION DIRECTORY: /Library/Frameworks/JRuby.framework/Gems/1.9
  - RUBY EXECUTABLE: /Library/Frameworks/JRuby.framework/Versions/Current/bin/jruby
  - EXECUTABLE DIRECTORY: /Library/Frameworks/JRuby.framework/Versions/Current/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - universal-java-1.6
  - GEM PATHS:
     - /Library/Frameworks/JRuby.framework/Gems/1.9
     - /Users/User/.gem/jruby/1.9
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
     - "install" => "--no-rdoc --no-ri"
     - "update" => "--no-rdoc --no-ri"
  - REMOTE SOURCES:
     - http://rubygems.org/

Here's the output of puts $:

➜  nittresults git:(master) ✗ irb      
irb(main):001:0> puts $:
/Library/Frameworks/JRuby.framework/Versions/Current/lib/ruby/site_ruby/1.9
/Library/Frameworks/JRuby.framework/Versions/Current/lib/ruby/site_ruby/shared
/Library/Frameworks/JRuby.framework/Versions/Current/lib/ruby/site_ruby/1.8
/Library/Frameworks/JRuby.framework/Versions/Current/lib/ruby/1.9
=> nil

Upvotes: 2

Views: 2165

Answers (1)

tadman
tadman

Reputation: 211540

You need to activate rubygems first:

require 'rubygems'
gem 'nittresults'
require 'nittresults'

Upvotes: 2

Related Questions