Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 我的ruby c扩展在ruby 2.2中工作,在ruby 2.6.5中不工作_Ruby On Rails_Ruby_Rubygems_Ruby C Extension - Fatal编程技术网

Ruby on rails 我的ruby c扩展在ruby 2.2中工作,在ruby 2.6.5中不工作

Ruby on rails 我的ruby c扩展在ruby 2.2中工作,在ruby 2.6.5中不工作,ruby-on-rails,ruby,rubygems,ruby-c-extension,Ruby On Rails,Ruby,Rubygems,Ruby C Extension,我一直在寻找很多东西,但找不到解决我问题的确切方法 我已经在ruby 2.2上安装了ruby c扩展,它运行良好。 当我将我的ruby更新到2.6.5时,它没有这么说。所以找不到文件 错误:-在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:

我一直在寻找很多东西,但找不到解决我问题的确切方法

我已经在ruby 2.2上安装了ruby c扩展,它运行良好。 当我将我的ruby更新到2.6.5时,它没有这么说。所以找不到文件

错误:-在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)
irb(main):001:0>需要“ibm\u db”
回溯(最近一次呼叫最后一次):
13:from C:/Ruby26/bin/irb.cmd:31:in`'
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`'
10:from(irb):1
9:from C:/Ruby26/lib/ruby/2.6.0/rubygems/core\u ext/kernel\u require.rb:34:in'require'
8:from C:/Ruby26/lib/ruby/2.6.0/rubygems/core\u ext/kernel\u require.rb:130:in'rescue in require'
7:from C:/Ruby26/lib/ruby/2.6.0/rubygems/core\u ext/kernel\u 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`'
5:from C:/Ruby26/lib/ruby/2.6.0/rubygems/core\u ext/kernel\u require.rb:54:in'require'
4:from C:/Ruby26/lib/ruby/2.6.0/rubygems/core\u ext/kernel\u 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`'
2:from C:/Ruby26/lib/ruby/2.6.0/rubygems/core\u ext/kernel\u require.rb:54:in'require'
1:from C:/Ruby26/lib/ruby/2.6.0/rubygems/core\u ext/kernel\u require.rb:54:in'require'
LoadError(126:找不到指定的模块。-C:/Ruby26/lib/ruby/gems/2.6.0/gems/ibm_db-4.0.0-x86-mingw32/lib/mswin32/rb2x/i386/ibm_db.so)

我们需要设置RUBY\u DLL\u PATH=clidriver/bin(环境变量)


谢谢

重新安装gem怎么样?gem安装ibm_dbAlso,如果ruby 2.6真的不兼容,那么您应该做的第一件事就是将版本号平分,以找出它的实际位置<代码>2.3.x,
2.4.
2.5.x
2.6.x
?哪个补丁版本?我想这可能会有帮助:谢谢…@TomLord帮了我。解决方案是我们需要在RUBY_DLL_PATH(环境变量)中添加所有依赖项