From: yamataka@...08.itscom.net Date: 2019-06-26T09:56:11+09:00 Subject: [ruby-list:50798] Re: [質問] gem require でエラーになる 補足説明です。 On Tue, 25 Jun 2019 18:48:48 +0900, yamataka@u08.itscom.net wrote: > require 'appium_lib' > > でエラーになってしまいます、 > 何が悪いのか解決できずにいます。 > ご教示いただけますでしょうか? > > yama@JPC00183513 ~/tmp> cat require_appium.rb > require 'appium_lib' > > yama@JPC00183513 ~/tmp> ruby ./require_appium.rb > Unable to load the EventMachine C extension; To use the pure-ruby reactor, require 'em/pure_ruby' > Unable to load the EventMachine C extension; To use the pure-ruby reactor, require 'em/pure_ruby' > C:/msys64/mingw64/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require': cannot load such file -- 2.6/rubyeventmachine (LoadError) > from C:/msys64/mingw64/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require' > ... > from ./require_appium.rb:1:in `
' > C:/msys64/mingw64/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require': cannot load such file -- appium_lib (LoadError) > from C:/msys64/mingw64/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require' > from ./require_appium.rb:1:in `
' > > のように > cannot load such file -- appium_lib (LoadError) となってしまいます。 > > ですが、 > > yama@JPC00183513 ~/tmp> gem environment gempath > C:/yama/.gem/ruby/2.6.0;C:/msys64/mingw64/lib/ruby/gems/2.6.0 > > yama@JPC00183513 /c/m/m/l/r/g/2/gems> pwd > /c/msys64/mingw64/lib/ruby/gems/2.6.0/gems > yama@JPC00183513 /c/m/m/l/r/g/2/gems> ls -d appium* > drwxr-xr-x 1 yama Domain Users 0 Jun 25 17:49 appium_lib-10.3.1/ > drwxr-xr-x 1 yama Domain Users 0 Jun 25 15:31 appium_lib_core-3.1.3/ > > より、GEM_PATHS 中のディレクトリに appium_lib があります。 https://docs.ruby-lang.org/ja/latest/method/Kernel/m/require.html 中の "... feature が相対パスのときは組み込み変数 $: に示されるパスを順番に探し..." より、 $: に "C:/msys64/mingw64/lib/ruby/gems/2.6.0/gems/appium_lib-10.3.1/lib" を追加し、 yama@JPC00183513 ~/tmp> cat require_appium.rb $:.push("C:/msys64/mingw64/lib/ruby/gems/2.6.0/gems/appium_lib-10.3.1/lib") require 'appium_lib' 実行すると、 > C:/msys64/mingw64/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require': cannot load such file -- appium_lib (LoadError) > from C:/msys64/mingw64/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require' > from ./require_appium.rb:1:in `
' appium_lib は、load でき、エラー表示が消えます。 推測するに、 > /c/msys64/mingw64/lib/ruby/gems/2.6.0/gems 以下の、gem が検索できないような状況になっている? ような気がしています。 が、.... 同じディレクトリ下の、jira-ruby gem yama@JPC00183513 ~/tmp> cd /c/msys64/mingw64/lib/ruby/gems/2.6.0/gems/ yama@JPC00183513 /c/m/m/l/r/g/2/gems> ls -d jira-ruby-1.6.0 drwxr-xr-x 1 yama Domain Users 0 Jun 20 10:16 jira-ruby-1.6.0/ を、require した場合は、 yama@JPC00183513 ~/tmp> cat require_jira_ruby.rb require 'jira-ruby' yama@JPC00183513 ~/tmp> ruby require_jira_ruby.rb yama@JPC00183513 ~/tmp> 正しく load できています。