我正在使用Shopsense Ruby Gem但是我无法使用gem。完全按照test提出请求时收到以下错误:
/Users/rudolph9/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/net/http.rb:455:in `block in get_response': undefined method `request_uri' for #<URI::Generic:0x007fd5b3a66810> (NoMethodError)
from /Users/rudolph9/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/net/http.rb:745:in `start'
from /Users/rudolph9/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/net/http.rb:454:in `get_response'
from /Users/rudolph9/.rvm/gems/ruby-1.9.3-p0/gems/Shopsense-0.1.1/lib/Shopsense.rb:76:in `do_search'
from test_shopsense.rb:10:in `<main>'
但是,如果我克隆存储库,修改测试并直接需要源代码,测试工作正常,如下所示:
1 #!/usr/bin/env ruby¬
2 require 'rubygems'¬
3 #require 'Shopsense'¬
4 require '../lib/shopsense.rb'¬
.
.
.
使用gem自身的问题是什么?
答案 0 :(得分:2)
您是否安装了较旧版本的gem,或者另一个名为Shopsense的gem?
有了你得到的错误,我怀疑这个问题与ruby有关,试图在你require 'Shopsense'
时自动找到宝石并找到你想要的东西。当你require '../lib/shopsense.rb'
时,它定义了一条特定的宝石路径,所以你总能得到你想要的宝石。
我对Shopsense没有任何经验,但您提供的链接看起来像版本0.1.0
,而ruby解释器找到了Shopsense-0.1.1
。我怀疑这个问题与此有关。事实上,您链接到的Shopsense的来源,第76行(错误在您的输出中)是一个空行。