Ruby irb不';不要加载我创建的宝石
我正在Ruby irb不';不要加载我创建的宝石,ruby,gem,jruby,irb,Ruby,Gem,Jruby,Irb,我正在1.9模式下使用jruby ➜ 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 ➜
1.9
模式下使用jruby
➜ 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
我已经创建了一个gem nitresults,安装后我无法将其加载到irb中。错误消息如下所示
➜ 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)'
我怎样才能让它载入irb内部?
我在osx雪豹10.6.8上
这是输出oggem 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/
以下是put$:
➜ 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
您需要首先激活rubygems:
require 'rubygems'
gem 'nittresults'
require 'nittresults'
他使用的是1.9,它不需要
要求“rubygems”
(尽管在JRuby中可能有所不同?),他的安装有些可疑。请检查错误,它来自ruby 1.8中的libs。在本例中,安装确实已损坏,使用rbenv的干净安装修复了此问题@Casper你能补充一下吗?为什么你的1.9Ruby从1.8开始加载rubygems?看看您的错误,路径指向v1.8 rubygems…这是不对的。我可以检查哪些信息来解决此问题?将gem env
输出添加到您的问题中。您是否定义了GEM_HOME
或GEM_PATH
环境变量(echo$GEM_HOME$GEM_PATH
)?我已经添加了GEM env
的输出,并且没有设置GEM_HOME和GEM_PATH。@Casper,我已经发布了这些内容。关于可能出现的问题有什么建议吗?