my ruby c расширение работает в ruby 2.2 и не работает в ruby 2.6.5 - PullRequest
0 голосов
/ 21 января 2020

Я много искал и не смог найти точного решения своей проблемы.

Я установил расширение ruby c на ruby 2.2, и оно отлично работает. когда я обновил 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)

1 Ответ

0 голосов
/ 28 января 2020

нам нужно установить RUBY_DLL_PATH = clidriver / bin (переменная окружения).

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...