我想玩三种类似的红宝石宝石,名为'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)
答案 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
应解决该问题。