我刚刚使用以下命令安装了适用于 Windows 的 Ruby gem“sqlite3”
>gem install sqlite3 --platform=ruby -- --with-sqlite3-include=c:/sqlite3/include --with-sqlite3-lib=c:/sqlite3/lib --with-sqlite3-dir=c:/sqlite3/bin
Run Code Online (Sandbox Code Playgroud)
它编译看起来很完美,但是当我尝试包含 gem 时,我得到:
irb(main):001:0> 需要“sqlite3”
LoadError:126:找不到指定的模块。- C:/Ruby200/lib/ruby/gems/2.0.0/gems/sqlite3-1.3.9/lib/sqlite3/sqlite3_native.so
来自 C:/Ruby200/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
来自 C:/Ruby200/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
来自 C:/Ruby200/lib/ruby/gems/2.0.0/gems/sqlite3-1.3.9/lib/sqlite3.rb:6:in `rescue in '
来自 C:/Ruby200/lib/ruby/gems/2.0.0/gems/sqlite3-1.3.9/lib/sqlite3.rb:2:in `'
来自 C:/Ruby200/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:135:in `require'
来自 C:/Ruby200/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:135:in `require 中的救援'
来自 C:/Ruby200/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:144:in `require'
来自(irb):1
来自 C:/Ruby200/bin/irb:12:in `'
所以我检查了它为“sqlite3_native.so”提供的路径,你瞧,它就在那里!就像它应该的那样。那么鲁比为什么要对我撒谎呢?我怎样才能找出宝石不起作用的真正原因?
我手动构建 gem 的原因是预构建的 gem 带有过时的 SQLite3 版本