如何修复在 Windows 上需要 'ibm_db' gem 的错误
How to fix error requiring 'ibm_db' gem on Windows
我是 运行 Ruby 2.6.3p62 32 位 Windows 10 64 位。我使用 Ruby 安装程序安装了它。我成功安装了 gem 'ibm_db',没有任何错误。我从 http://public.dhe.ibm.com/ibmdl/export/pub/software/data/db2/drivers/odbc_cli/nt32_odbc_cli.zip 下载了 DB2-clidriver,解压缩并将环境变量 IBM_DB_HOME 设置到它的位置。另外,我在 PATH 变量中添加了 IBM_DB_HOME\bin。当需要 ibm_db 时,出现以下错误:
C:\Users\myuser\Programs\Ruby26\bin>ruby -e "require 'ibm_db'"
Traceback (most recent call last):
2: from -e:1:in `<main>'
1: from C:/Users/myuser/Programs/Ruby26/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
C:/Users/myuser/Programs/Ruby26/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require': cannot load such file -- ibm_db (LoadError)
9: from -e:1:in `<main>'
8: from C:/Users/myuser/Programs/Ruby26/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:34:in `require'
7: from C:/Users/myuser/Programs/Ruby26/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:130:in `rescue in require'
6: from C:/Users/myuser/Programs/Ruby26/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:130:in `require'
5: from C:/Users/myuser/Programs/Ruby26/lib/ruby/gems/2.6.0/gems/ibm_db-4.0.0-x86-mingw32/lib/ibm_db.rb:21:in `<top (required)>'
4: from C:/Users/myuser/Programs/Ruby26/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
3: from C:/Users/myuser/Programs/Ruby26/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
2: from C:/Users/myuser/Programs/Ruby26/lib/ruby/gems/2.6.0/gems/ibm_db-4.0.0-x86-mingw32/lib/mswin32/ibm_db.rb:90:in `<top (required)>'
1: from C:/Users/myuser/Programs/Ruby26/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
C:/Users/myuser/Programs/Ruby26/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require': 126: The specified module could not be found. - C:/Users/myuser/Programs/Ruby26/lib/ruby/gems/2.6.0/gems/ibm_db-4.0.0-x86-mingw32/lib/mswin32/rb2x/i386/ibm_db.so (LoadError)
最后一行提到的文件
C:/Users/myuser/Programs/Ruby26/lib/ruby/gems/2.6.0/gems/ibm_db-4.0.0-x86-mingw32/lib/mswin32/rb2x/i386/ibm_db.so
确实存在。
您的问题可能更适合 Github issues ibm_db gem 的页面,因为您的问题涉及配置而不涉及 [=24] =] 编程,或为 Db2 编程。
具体见:https://github.com/ibmdb/ruby-ibmdb/issues/83
看来 ibm_db gem 可能还不支持您 operating-system 平台上的 Ruby 版本,但它可能支持旧版本的 Ruby.
我是 运行 Ruby 2.6.3p62 32 位 Windows 10 64 位。我使用 Ruby 安装程序安装了它。我成功安装了 gem 'ibm_db',没有任何错误。我从 http://public.dhe.ibm.com/ibmdl/export/pub/software/data/db2/drivers/odbc_cli/nt32_odbc_cli.zip 下载了 DB2-clidriver,解压缩并将环境变量 IBM_DB_HOME 设置到它的位置。另外,我在 PATH 变量中添加了 IBM_DB_HOME\bin。当需要 ibm_db 时,出现以下错误:
C:\Users\myuser\Programs\Ruby26\bin>ruby -e "require 'ibm_db'"
Traceback (most recent call last):
2: from -e:1:in `<main>'
1: from C:/Users/myuser/Programs/Ruby26/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
C:/Users/myuser/Programs/Ruby26/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require': cannot load such file -- ibm_db (LoadError)
9: from -e:1:in `<main>'
8: from C:/Users/myuser/Programs/Ruby26/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:34:in `require'
7: from C:/Users/myuser/Programs/Ruby26/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:130:in `rescue in require'
6: from C:/Users/myuser/Programs/Ruby26/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:130:in `require'
5: from C:/Users/myuser/Programs/Ruby26/lib/ruby/gems/2.6.0/gems/ibm_db-4.0.0-x86-mingw32/lib/ibm_db.rb:21:in `<top (required)>'
4: from C:/Users/myuser/Programs/Ruby26/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
3: from C:/Users/myuser/Programs/Ruby26/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
2: from C:/Users/myuser/Programs/Ruby26/lib/ruby/gems/2.6.0/gems/ibm_db-4.0.0-x86-mingw32/lib/mswin32/ibm_db.rb:90:in `<top (required)>'
1: from C:/Users/myuser/Programs/Ruby26/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
C:/Users/myuser/Programs/Ruby26/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require': 126: The specified module could not be found. - C:/Users/myuser/Programs/Ruby26/lib/ruby/gems/2.6.0/gems/ibm_db-4.0.0-x86-mingw32/lib/mswin32/rb2x/i386/ibm_db.so (LoadError)
最后一行提到的文件
C:/Users/myuser/Programs/Ruby26/lib/ruby/gems/2.6.0/gems/ibm_db-4.0.0-x86-mingw32/lib/mswin32/rb2x/i386/ibm_db.so
确实存在。
您的问题可能更适合 Github issues ibm_db gem 的页面,因为您的问题涉及配置而不涉及 [=24] =] 编程,或为 Db2 编程。
具体见:https://github.com/ibmdb/ruby-ibmdb/issues/83
看来 ibm_db gem 可能还不支持您 operating-system 平台上的 Ruby 版本,但它可能支持旧版本的 Ruby.