Rubyirbで、エラーがおきました。いろいろ調べて最終的に解消できました。


<internal:C:/Ruby31-x64/lib/ruby/site_ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:88:in `require’: 126: 指定されたモジュールが見つかりません。 - C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/fiddle-1.1.1/lib/fiddle.so (LoadError)

irbfiddleが影響するとは!?


Windowsで、irbエラー

>irb
<internal:C:/Ruby31-x64/lib/ruby/site_ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:88:in `require': 126: 指定されたモジュールが見つかりません。   - C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/fiddle-1.1.1/lib/fiddle.so (LoadError)
        from <internal:C:/Ruby31-x64/lib/ruby/site_ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:88:in `require'
        from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/fiddle-1.1.1/lib/fiddle.rb:3:in `<top (required)>'
        from <internal:C:/Ruby31-x64/lib/ruby/site_ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:88:in `require'
        from <internal:C:/Ruby31-x64/lib/ruby/site_ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:88:in `require'
        from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/fiddle-1.1.1/lib/fiddle/import.rb:2:in `<top (required)>'
        from <internal:C:/Ruby31-x64/lib/ruby/site_ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:88:in `require'
        from <internal:C:/Ruby31-x64/lib/ruby/site_ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:88:in `require'
        from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/reline-0.3.2/lib/reline/windows.rb:1:in `<top (required)>'
        from <internal:C:/Ruby31-x64/lib/ruby/site_ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:88:in `require'
        from <internal:C:/Ruby31-x64/lib/ruby/site_ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:88:in `require'
        from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/reline-0.3.2/lib/reline.rb:587:in `<top (required)>'
        from <internal:C:/Ruby31-x64/lib/ruby/site_ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:88:in `require'
        from <internal:C:/Ruby31-x64/lib/ruby/site_ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:88:in `require'
        from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/irb-1.6.2/lib/irb.rb:13:in `<top (required)>'
        from <internal:C:/Ruby31-x64/lib/ruby/site_ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:88:in `require'
        from <internal:C:/Ruby31-x64/lib/ruby/site_ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:88:in `require'
        from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/irb-1.6.2/exe/irb:9:in `<top (required)>'
        from C:/Ruby31-x64/bin/irb:32:in `load'
        from C:/Ruby31-x64/bin/irb:32:in `<main>'


エラー解消方法

  1. Rubyへのパスが通ってるか? → pathで ;C:\Ruby31-x64\bin; が含まれていること
  2. コマンドプロンプトを管理者権限で起動
  3. gem update --system 実行
  4. fiddle を再インストール
  5. gem uninstall fiddle
  6. gem install fiddle
  7. 再度irbを起動
2023/06/09