2010-09-22 69 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存儲庫。