2010-09-22 72 views
3

我刚刚安装了rvm,它看起来非常方便/功能强大。rvm,irb和require - 不适用于irb下安装的宝石

我想我得到了它的窍门,但...

当使用RVM安装Ruby和运行IRB,当我需要安装的宝石,东西,像“RVM”,我得到:

> kimptoc$ rvm use 1.8.7 
Using /Users/kimptoc/.rvm/gems/ruby-1.8.7-p302 


> kimptoc$ gem list 

*** LOCAL GEMS *** 

abstract (1.0.0) 
... 
rvm (1.0.11) 
... 


> kimptoc$ irb 
ruby-1.8.7-p302 > require 'rvm' 
LoadError: no such file to load -- rvm 
    from (irb):1:in `require' 
    from (irb):1 

但是,当使用“系统”红宝石,它工作正常。

从历史上看,我一直在使用sudo gem install ...所以“系统”宝石一般都是这样安装的。这可能是我的问题吗?我需要卸载这些修复程序吗?

我正在运行OSX 10.6.4。 “系统” 是默认的OSX红宝石,1.8.7(P174)

预先感谢任何提示/想法, 克里斯

回答

10

尝试require 'rubygems'第一。

+0

很多谢谢,这是诀窍。必须找出'rubygems'给出的东西,看起来像某种基本工具。 – 2010-09-22 19:14:05

1
> rvm use 1.8.7 
> rvm info 
    (Find the homes -> gem directory) 
> ls -al ~/.rvm/gems/ruby-1.8.7 (Substitute your gem directory as needed) 

是你在这个目录下的宝石?

一般来说,使用sudo gem install与rvm是一个坏主意。

+0

谢谢 - 我错过了要求'rubygems'的电话。看来我以前错过了这个,我猜Rails为我做了下面的工作:) – 2010-09-23 16:13:01

1

从Ruby 1.9.3开始,你不再需要,可以,需要rubygems,而你只需要rvm。

如果你想用它在你的.irbrc文件使用wirble或要命的打印,你可以用一个简单的办法来避免登录错误说,它不能包括或“RubyGems的”或“RVM”

if RUBY_VERSION > "1.8.7" 
    require 'rvm' 
else 
    require 'rubygems' 
end 
require 'wirble' 
Wirble.init 
Wirble.colorize 

包括rubygems和rvm似乎并不合逻辑,因为RVM以某种方式替换rubygems来处理gem和gem存储库。