[ruby-list:50336] [質問] require error?
From:
<yamataka@...08.itscom.net>
Date:
2016-06-23 04:25:57 UTC
List:
ruby-list #50336
山口と申します。
gem easy_upnp
easy_upnp: https://github.com/sidoh/easy_upnp
のサンプルプログラムを実行すると、
`<class:HttpListener>': uninitialized constant EasyUpnp::OptionsBase (
NameError)
や
require error
が出るのですが、対処方法が分からずに困っております。
何か解決方法があれば、ご教示いただけますでしょうか?
[環境]
Windows 8.1 cygwin
~$ uname -a
CYGWIN_NT-6.3 JPC20165182 2.5.1(0.297/5/3) 2016-04-21 22:14 x86_64
Cygwin
~$ ruby --version
ruby 2.2.4p230 (2015-12-16 revision 53155) [x86_64-cygwin]
~$ gem list easy_upnp
*** LOCAL GEMS ***
easy_upnp (1.1.8)
の環境で、
easy_upnp: https://github.com/sidoh/easy_upnp
中の Sample code (下記)を実行すると、
~$ cat easy_upnp.rb
#! /bin/ruby
require 'easy_upnp/ssdp_searcher'
searcher = EasyUpnp::SsdpSearcher.new
devices = searcher.search 'ssdp:all'
を実行すると
~$ ./easy_upnp.rb
/cygdrive/c/yama/.gem/ruby/gems/easy_upnp-1.1.8/lib/easy_upnp/events/
http_listener.rb:8:in `<class:HttpListener>': uninitialized constant
EasyUpnp::OptionsBase (NameError)
from /cygdrive/c/yama/.gem/ruby/gems/easy_upnp-1.1.8/lib/easy_
upnp/events/http_listener.rb:7:in `<module:EasyUpnp>'
from /cygdrive/c/yama/.gem/ruby/gems/easy_upnp-1.1.8/lib/easy_
upnp/events/http_listener.rb:6:in `<top (required)>'
from /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:54:
in `require'
from /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:54:
in `require'
from /cygdrive/c/yama/.gem/ruby/gems/easy_upnp-1.1.8/lib/easy_
upnp/control_point/device_control_point.rb:10:in `<top (required)>'
from /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:54:
in `require'
from /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:54:
in `require'
from /cygdrive/c/yama/.gem/ruby/gems/easy_upnp-1.1.8/lib/easy_
upnp/upnp_device.rb:6:in `<top (required)>'
from /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:54:
in `require'
from /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:54:
in `require'
from /cygdrive/c/yama/.gem/ruby/gems/easy_upnp-1.1.8/lib/easy_
upnp/ssdp_searcher.rb:5:in `<top (required)>'
from /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:128:
in `require'
from /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:128:
in `rescue in require'
from /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:39:
in `require'
from ./easy_upnp.rb:3:in `<main>'
とエラーになり、実行できません。
該当部分は下記になります。
$ head /cygdrive/c/yama/.gem/ruby/gems/easy_upnp-1.1.8/lib/easy_upnp/
events/http_listener.rb
require 'webrick'
require 'thread'
require 'easy_upnp/events/event_parser'
module EasyUpnp
class HttpListener
class Options < EasyUpnp::OptionsBase
DEFAULTS = {
# Port to listen on. Default value "0" will cause OS to choose a
random
エラー表示の下部の
"kernel_require.rb:39:in `require'
を Googleで検索すると、
https://teratail.com/questions/9857
に当たり、easy_upnpは、nokogiri を使用しており、同じ症状かなと推測してい
ますが...