2012-01-24 3 views
1

Я работаю с Shopsense Ruby Gem, однако я не могу использовать драгоценный камень. Выполнение запросов точно так, как в test я получаю следующее сообщение об ошибке:Неопределенный метод 'request_uri'

/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'¬ 
. 
. 
. 

В чем проблема при использовании самоцвета?

ответ

1

У вас установлена ​​старая версия установленного драгоценного камня или другой драгоценный камень, который называется Shopense?

С ошибкой, которую вы получаете, я подозреваю, что проблема связана с рубином, пытаясь автоматически найти драгоценный камень, когда вы делаете require 'Shopsense' и находите что-то другое, кроме того, что хотите. Когда вы делаете require '../lib/shopsense.rb', он определяет конкретный путь к драгоценному камню, поэтому вы всегда получаете необходимый камень.

У меня нет опыта работы с Shopense, но указанная вами ссылка выглядит как версия 0.1.0, в то время как интерпретатор ruby ​​нашел Shopsense-0.1.1. Я подозреваю, что проблема связана с этим. Фактически, для источника, с которым вы связались, строка 76 (где ошибка в вашем выходе) - пустая строка.

+0

Нет, это определенно '0,1.1' gem list -> Shopense (0.1.1) ...' require 'Shopsense-0.1.1' 'также дает мне ошибку загрузки. – rudolph9

+0

@KurtRudolph Где вы получаете источник для теста? Выведенная вами ссылка github не похожа на возможную ошибку, так как lib/storesense.rb: 76 - пустое пространство. Если вы используете пример кода из этой ссылки github, но в том числе и другую версию shopense, это объясняет проблему. – Skolor

+0

ahhh, хотя он установлен как 0.1.1, я думаю, что это на самом деле 0.1.0. Посмотрите немного глубже: «Магазины/pkg/Shopsense-0.1.0/lib/storesense.rb». Благодаря! Я не совсем уверен, как создаются драгоценные камни, не могли бы вы направить меня в хороший учебник, чтобы я мог это исправить? – rudolph9

Смежные вопросы