在Windows上遇到sqlite3 ruby​​ 2.0问题

时间:2013-06-20 02:26:18

标签: ruby windows sqlite

我是编程的新手,我的(mac)家用电脑上成功安装了ruby / rails。我正在尝试在Windows上设置ruby 2.0.0p195(和Rails)(Windows 7,32位)并且我在sqlite3安装上失败了。我已经浏览了我可以在网上找到的大多数解决方案/建议,但是无法让它工作 - 令人沮丧的是它告诉我它已安装,但它不起作用: - 我尝试了背包安装http://www.ruby-forum.com/topic/4413168 - 如果我尝试安装--with-opt-dir = c:/ sqlite3(或建议的许多变体中的任何一个),它会产生本机扩展错误。 - 我把.dll文件放在Ruby / bin中,它也在我的PATH中 - 我安装了devkit

'gem install sqlite3'命令成功,如果我执行'gem list',sqlite3 v1.3.7 x86-mingw32出现在列表中,但如果我在IRB中需要sqlite3',我得到:

  

LoadError:无法加载此类文件 - sqlite3 / sqlite3_native

mkmf日志说:

  

find_header:检查sqlite3.h ... -------------------- no

但我已经确认sqlite3.h文件(以及sqlite3.c,sqlite3.o和sqlite3.h文件)位于我的c:\ sqlite3目录中,如上所述,我也尝试过安装'--with-OPT-DIR'。

接下来,当我'需要'sqlite到ruby / lib中的'\ kernel_require.rb'文件时,我会跟踪错误,并引用它:

if Gem::Specification.unresolved_deps.empty? then
  return gem_original_require(path)
end

我迷失了,并且走出了我的深度。在这一点上,我唯一的解决方案是完全卸载并重新启动,或降级到ruby 1.9.x,但其他人似乎有sqlite3和ruby 2.0工作,所以它显然(?)半稳定。帮助

更新:我现在尝试降级到ruby 1.9.3,除了每次关闭命令行时pik还原到最新版本的ruby,我实际上可以让服务器运行等等所以它似乎这个问题与ruby 2.0有关。

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,除了我不认为它与Ruby 2有关,而是与rails 4相关。

我已经设法通过下载源代码来安装sqlite3 gem,dll和exec(需要将dll和可执行文件添加到PATH可访问)并使用以下过程实现gem:

下载:

将文件解压缩并放在C驱动器上的某个位置或任何您想要的位置。然后将sqlite.dll和sqlite.def复制到Ruby / bin目录。

然后转到DevKit目录并运行msys.bat,在其中发出以下命令:

gem install sqlite3 --platform=ruby -- --with-sqlite3-dir=path-to-sqlite --with-sqlite3-include=path-to-sqlite 

这允许我成功安装gem(使用Ruby-2.0.0-p247 x86和devkit)。我通过irb做了验证:

require 'sqlite3'
SQLite3::SQLITE_VERSION

我仍在努力解决这个问题。

当我尝试启动服务器或尝试运行rails控制台时,我收到相同的错误消息。

我很想解决这个问题...