如何使用RVM创建三个宝石的宝石集?

时间:2010-12-21 22:55:32

标签: ruby rubygems rvm

我想玩三种类似的红宝石宝石,名为'yahoofinance''yahoo-finance'和'yahoo_stock'。我对每个宝石如何与雅虎财经合作感兴趣。所以我开始创建一个rvm gemset,

[sandbox]$ rvm gemset create finance
'finance' gemset created (/Users/milktrader/.rvm/gems/ruby-1.9.2-p0@finance).

然后我用它,

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

然后我把它贴在红宝石上,

[sandbox]$ rvm 1.9.2-head@finance

然后我安装了上面的三颗宝石,

[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)

1 个答案:

答案 0 :(得分: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。事实证明,宝石的所有者现在调用了宝石nas-yahoo_stock,因此运行gem install nas-yahoo_stock应解决该问题。