From: yamataka@...08.itscom.net Date: 2016-06-23T13:25:57+09:00 Subject: [ruby-list:50336] [質問] require error? 山口と申します。 gem easy_upnp easy_upnp: https://github.com/sidoh/easy_upnp のサンプルプログラムを実行すると、 `': 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 `': 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 `' from /cygdrive/c/yama/.gem/ruby/gems/easy_upnp-1.1.8/lib/easy_ upnp/events/http_listener.rb:6:in `' 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 `' 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 `' 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 `' 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 `
' とエラーになり、実行できません。 該当部分は下記になります。 $ 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 を使用しており、同じ症状かなと推測してい ますが...