2010-12-21 73 views
0

我想玩三個類似的Ruby寶石,名叫'yahoofinance''yahoo-finance'和'yahoo_stock'。我對每個寶石如何與雅虎金融合作感興趣。於是,我開始創建一個RVM寶石,如何使用RVM創建三顆寶石gemset?

[sandbox]$ rvm gemset create finance 
'finance' gemset created (/Users/milktrader/.rvm/gems/[email protected]). 

然後我用它,

[sandbox]$ rvm gemset use finance 
Now using gemset 'finance' 

然後接上它紅寶石,

[sandbox]$ rvm [email protected] 

然後我安裝上述三個寶石,

[sandbox]$ gem install yahoo-finance yahoofinance yahoo_stock 
Successfully installed yahoo-finance-0.0.2 
Successfully installed yahoofinance-1.2.2 
Successfully installed yahoo_stock-1.0.2 
3 gems installed 
. 
. 
. 
Installing RDoc documentation for yahoo_stock-1.0.2... 

現在我不在假設我可以要求所有三個寶石在irb sesssion中。其中只有一個返回true。

ruby-1.9.2-head > require 'yahoofinance' 
=> true 

而其他兩個拋出錯誤。

ruby-1.9.2-head > require 'yahoo-finance' 
LoadError: no such file to load -- yahoo-finance 

ruby-1.9.2-head > require 'yahoo_stock' 
SyntaxError: ... 

寶石或我的裝置有問題嗎?

注意:我對rvm gemset use命令有些迷惑,它可能沒有在上面正確使用。

[sandbox]$ gem list 

*** LOCAL GEMS *** 

bundler (1.0.7) 
rake (0.8.7) 
yahoo-finance (0.0.2) 
yahoo_stock (1.0.2) 
yahoofinance (1.2.2) 
+0

此gemset中`gem list`的輸出是什麼? – Matchu 2010-12-21 23:10:14

+0

@Matchu,我把它放在上面的問題中。 – Milktrader 2010-12-21 23:23:01

回答

1

我最初遇到了同樣的錯誤,所以它不是環境。

yahoo-finance的問題在於它必須被要求爲yahoo_finance

yahoo_stock的問題是一個語法錯誤,指示正在加載文件,但沒有正確解釋。在檢查Github project's changelog後,我們看到Ruby 1.9.1中的history.rb語法錯誤在版本1.0.5中得到修復,但the central gem repository中的版本爲1.0.2。原來,寶石的所有者現在稱爲gem nas-yahoo_stock,所以運行gem install nas-yahoo_stock應該可以解決該問題。