微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

找不到指定的模块 ibm_db.so

如何解决找不到指定的模块 ibm_db.so

尝试执行 ruby​​ 脚本时,我得到以下堆栈跟踪:

Traceback (most recent call last):
        2: from file.rb:7:in `<main>'
        1: from C:/Ruby26/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
C:/Ruby26/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require': cannot load such file -- mswin32/ibm_db (LoadError)
        12: from file.rb:7:in `<main>'
        11: from C:/Ruby26/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:34:in `require'
        10: from C:/Ruby26/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:130:in `rescue in require'
         9: from C:/Ruby26/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:130:in `require'
         8: from C:/Ruby26/lib/ruby/gems/2.6.0/gems/ibm_db-5.2.0-x86-mingw32/lib/mswin32/ibm_db.rb:95:in `<top (required)>'
         7: from C:/Ruby26/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:83:in `require'
         6: from C:/Ruby26/lib/ruby/2.6.0/rubygems/specification.rb:1085:in `find_in_unresolved_tree'
         5: from C:/Ruby26/lib/ruby/2.6.0/rubygems/specification.rb:1085:in `each'
         4: from C:/Ruby26/lib/ruby/2.6.0/rubygems/specification.rb:1086:in `block in find_in_unresolved_tree'
         3: from C:/Ruby26/lib/ruby/2.6.0/rubygems/specification.rb:2619:in `traverse'
         2: from C:/Ruby26/lib/ruby/2.6.0/rubygems/specification.rb:2619:in `each'
         1: from C:/Ruby26/lib/ruby/2.6.0/rubygems/specification.rb:2621:in `block in traverse'
C:/Ruby26/lib/ruby/2.6.0/rubygems/dependency.rb:313:in `to_specs': Could not find 'activesupport' (= 6.0.3) - did find: [activesupport-3.2.22.5] (Gem::MissingSpec
VersionError)
Checked in 'GEM_PATH=C:/Users/username/.gem/ruby/2.6.0;C:/Ruby26/lib/ruby/gems/2.6.0',execute `gem env` for more information
        7: from file.rb:7:in `<main>'
        6: from C:/Ruby26/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:34:in `require'
        5: from C:/Ruby26/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:130:in `rescue in require'
        4: from C:/Ruby26/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:130:in `require'
        3: from C:/Ruby26/lib/ruby/gems/2.6.0/gems/ibm_db-5.2.0-x86-mingw32/lib/mswin32/ibm_db.rb:95:in `<top (required)>'
        2: from C:/Ruby26/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:34:in `require'
        1: from C:/Ruby26/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:130:in `rescue in require'
C:/Ruby26/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:130:in `require': 126: The specified module Could not be found.   - C:/Ruby26/lib/ruby/gems/2.6.0/gem
s/ibm_db-5.2.0-x86-mingw32/lib/mswin32/rb2x/i386/ruby26/ibm_db.so (LoadError)

我们正在运行:

  • ruby 2.6.6p146(2020-03-31 修订版 67876)[i386-mingw32]
  • Rails 3.2.22.5

该脚本从 db2 数据库提取一些数据,因此我安装了 ibm_db 32 驱动程序并确保 RUBY_DLL_PATH 指向 C:\Program Files (x86)\IBM\sqlLIB\clidriver\bin。此目录中应存在多少个文件,哪些文件应位于该目录中?我只有 IBMLDAPauthclient.dll,这看起来不对,但这就是这里安装的。欢迎和赞赏有关如何解决此问题的任何想法。提前致谢。

迈克尔

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。