【发布时间】: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.x、2.4.、2.5.x或2.6.x?哪个补丁版本? -
我认为这可能会有所帮助:stackoverflow.com/q/56850201/10313894
-
谢谢...@TomLord 帮助了我。解决方案是我们需要在 RUBY_DLL_PATH(环境变量)中添加所有依赖项
标签: ruby-on-rails ruby rubygems ruby-c-extension