3

我是编程新手,我的(mac)家用电脑上成功安装了 ruby​​/rails。我正在尝试在 Windows(Windows 7、32 位)上设置 ruby​​ 2.0.0p195(和 Rails),但我在安装 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 ... -------------------- 否

但我已经确认 sqlite3.h 文件(以及 sqlite3.c、sqlite3.o 和 sqlite3.h 文件)在我的 c:\sqlite3 目录中,如上所述,我也尝试安装'--与选择目录'。

所以接下来我在 ruby​​/lib 中将“需要”sqlite 到文件“\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 相关。

4

1 回答 1

1

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

我已通过下载源代码、dll 和 exec(dll 和可执行文件需要添加到 PATH 可访问)并使用以下过程安装 gem 来安装 sqlite3 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 控制台时,我会收到相同的错误消息。

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

于 2013-07-17T19:57:50.040 回答