【问题标题】:my ruby c extension works in ruby 2.2 and does not work in ruby 2.6.5我的 ruby​​ c 扩展在 ruby​​ 2.2 中有效,在 ruby​​ 2.6.5 中无效
【发布时间】:2020-01-28 14:20:37
【问题描述】:

我搜索了很多,但无法找到解决问题的确切方法。

我已经在 ruby​​ 2.2 上安装了 ruby​​ c 扩展,它工作正常。 当我将我的 ruby​​ 更新到 2.6.5 时,它说找不到 .so 文件失败

错误:- 在 ruby​​ 2.6.5 中

irb(main):001:0> require 'ibm_db'
Traceback (most recent call last):
       13: from C:/Ruby26/bin/irb.cmd:31:in `<main>'
       12: from C:/Ruby26/bin/irb.cmd:31:in `load'
       11: from C:/Ruby26/lib/ruby/gems/2.6.0/gems/irb-1.0.0/exe/irb:11:in `<top (required)>'
       10: from (irb):1
        9: from C:/Ruby26/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:34:in `require'
        8: from C:/Ruby26/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:130:in `rescue in require'
        7: from C:/Ruby26/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:130:in `require'
        6: from C:/Ruby26/lib/ruby/gems/2.6.0/gems/ibm_db-4.0.0-x86-mingw32/lib/ibm_db.rb:21:in `<top (required)>'
        5: from C:/Ruby26/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
        4: from C:/Ruby26/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
        3: from C:/Ruby26/lib/ruby/gems/2.6.0/gems/ibm_db-4.0.0-x86-mingw32/lib/mswin32/ibm_db.rb:90:in `<top (required)>'
        2: from C:/Ruby26/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
        1: from C:/Ruby26/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
LoadError (126: The specified module could not be found.   - C:/Ruby26/lib/ruby/gems/2.6.0/gems/ibm_db-4.0.0-x86-mingw32/lib/mswin32/rb2x/i386/ibm_db.so)

【问题讨论】:

  • 重新安装 gem 怎么样?宝石安装 ibm_db
  • 另外,如果 ruby​​ 2.6 确实不兼容,那么您应该做的第一件事就是将版本号一分为二,找出真正的喙在哪里。 2.3.x2.4.2.5.x2.6.x?哪个补丁版本?
  • 我认为这可能会有所帮助:stackoverflow.com/q/56850201/10313894
  • 谢谢...@TomLord 帮助了我。解决方案是我们需要在 RUBY_DLL_PATH(环境变量)中添加所有依赖项

标签: ruby-on-rails ruby rubygems ruby-c-extension


【解决方案1】:

我们需要设置 RUBY_DLL_PATH=clidriver/bin(环境变量)。

谢谢

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多