【问题标题】:Ruby on Rails sqlite3 entry point not found找不到 Ruby on Rails sqlite3 入口点
【发布时间】:2011-04-20 05:27:25
【问题描述】:

我无法再让 Ruby on Rails 正常工作了(前一阵子用 Ruby [不是 Rails] 摆弄,bla bla),我因为某个原因/解决我的问题而陷入困境。 我正在运行 XP、Ruby 1.9.2 (p180)、sqlite3 (1.3.3 x86-mingw32)、rails (3.0.7),这基本上是我今晚早些时候所做的:

  1. DL/安装 Ruby (rubyinstaller-1.9.2-p180)
  2. DL sqlite3.exe、.dll、.def,放在\ruby192\bin\目录下(另外注意问题后,我把.exe、.dll、.def放在lib目录下sqlite3 宝石)
  3. gem 安装 sqlite3、activesupport 和 rails(按此顺序)
  4. rails 新演示
  5. (在新创建的文件夹中)rails s

以及我从这一切中得到的……

在动态链接库sqlite3.dll中找不到过程入口点sqlite3_column_database_name

 C:/Ruby192/lib/ruby/gems/1.9.1/gems/sqlite3-1.3.3-x86-mingw32/lib/sqlite3.rb:6:i
n `require': no such file to load -- sqlite3/sqlite3_native (LoadError)
 from C:/Ruby192/lib/ruby/gems/1.9.1/gems/sqlite3-1.3.3-x86-mingw32/lib/s
qlite3.rb:6:in `rescue in <top (required)>'
 from C:/Ruby192/lib/ruby/gems/1.9.1/gems/sqlite3-1.3.3-x86-mingw32/lib/s
qlite3.rb:2:in `<top (required)>'
 from C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.12/lib/bundler/runt
ime.rb:68:in `require'
 from C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.12/lib/bundler/runt
ime.rb:68:in `block (2 levels) in require'
 from C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.12/lib/bundler/runt
ime.rb:66:in `each'
 from C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.12/lib/bundler/runt
ime.rb:66:in `block in require'
 from C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.12/lib/bundler/runt
ime.rb:55:in `each'
 from C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.12/lib/bundler/runt
ime.rb:55:in `require'
 from C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.12/lib/bundler.rb:1
20:in `require'
 from C:/ruby/demo/config/application.rb:7:in `<top (required)>'
 from C:/Ruby192/lib/ruby/gems/1.9.1/gems/railties-3.0.7/lib/rails/comman
ds.rb:28:in `require'
 from C:/Ruby192/lib/ruby/gems/1.9.1/gems/railties-3.0.7/lib/rails/comman
ds.rb:28:in `block in <top (required)>'
 from C:/Ruby192/lib/ruby/gems/1.9.1/gems/railties-3.0.7/lib/rails/comman
ds.rb:27:in `tap'
 from C:/Ruby192/lib/ruby/gems/1.9.1/gems/railties-3.0.7/lib/rails/comman
ds.rb:27:in `<top (required)>'
 from script/rails:6:in `require'
 from script/rails:6:in `<main>'

【问题讨论】:

  • 尝试将 sqlite3.dll 添加到windows\system32 文件夹
  • 在来这里之前尝试过,尽管我在 PATH 中的某个地方有它。似乎与世界上除我以外的所有人一起工作。

标签: ruby-on-rails sqlite


【解决方案1】:

是的,最近在我的 Windows 笔记本电脑上遇到了类似的问题。

问题是您使用的是最新的 sqlite3 二进制文件,但 gem 似乎无法使用这些文件。不幸的是,我不记得 sqlite3 二进制文件解决了什么确切版本。只需尝试几个以前的版本

【讨论】:

  • 今晚回家后我会试一试。我可以在 sqlite.org 上找到那些,还是我必须在他们的源代码存储库中挖掘并在家里编译?
【解决方案2】:

我的 Windows 7 x64 机器上遇到了与您完全相同的导轨和 ruby​​ 版本的问题。我发现我拥有的最新版本的 sqlite3 版本 3.7.6.2 似乎不兼容。我可以通过此链接下载 3.7.4:sqlite3 version 3.7.4

使用 3.7.4 版只需替换我的 ruby​​\bin 目录中的 sqlite3 dll 文件对我来说就像一个魅力

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-20
    • 1970-01-01
    • 1970-01-01
    • 2015-04-13
    • 2021-11-01
    • 1970-01-01
    相关资源
    最近更新 更多