错误“没有这样的文件加载” - sqlite3 / sqlite3_native(LoadError)

时间:2011-04-27 07:45:00

标签: ruby-on-rails windows sqlite file-not-found

我的操作系统是Windows 7。

我的问题是,当我尝试运行rails server时,会发生错误。我已经安装了sqlite3 gem,甚至是sqlite-ruby gem,但仍然没有。

我已经不知道该怎么做了。

如果有人需要任何其他信息,请求它,我会把它拿出来。

完整的错误是:

C:/Ruby192/lib/ruby/gems/1.9.1/gems/sqlite3-1.3.3-x86-mingw32/lib/sqlite3.rb:6:in `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/sqlite3.rb:6:in `rescue in <top (required)>'
    from C:/Ruby192/lib/ruby/gems/1.9.1/gems/sqlite3-1.3.3-x86-mingw32/lib/sqlite3.rb:2:in `<top (required)>'
    from C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.12/lib/bundler/runtime.rb:68:in `require'
    from C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.12/lib/bundler/runtime.rb:68:in `block (2 levels) in require'
    from C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.12/lib/bundler/runtime.rb:66:in `each'
    from C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.12/lib/bundler/runtime.rb:66:in `block in require'
    from C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.12/lib/bundler/runtime.rb:55:in `each'
    from C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.12/lib/bundler/runtime.rb:55:in `require'
    from C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.12/lib/bundler.rb:120:in `require'
    from C:/Users/JorWan/Desktop/JorWan/ASCENDSTUDIO/RoR/intento2/config/application.rb:7:in `<top (required)>'
    from C:/Ruby192/lib/ruby/gems/1.9.1/gems/railties-3.0.7/lib/rails/commands.rb:28:in `require'
    from C:/Ruby192/lib/ruby/gems/1.9.1/gems/railties-3.0.7/lib/rails/commands.rb:28:in `block in <top (required)>'
    from C:/Ruby192/lib/ruby/gems/1.9.1/gems/railties-3.0.7/lib/rails/commands.rb:27:in `tap'
    from C:/Ruby192/lib/ruby/gems/1.9.1/gems/railties-3.0.7/lib/rails/commands.rb:27:in `<top (required)>'
    from script/rails:6:in `require'
    from script/rails:6:in `<main>'

5 个答案:

答案 0 :(得分:4)

http://www.sqlite.org/download.html下载所需的可执行文件和dll 提取到ruby的bin(c:\ Ruby192 \ bin)

答案 1 :(得分:3)

忘记所有所谓的&#34;答案&#34;,没有编译源代码或下载预编译库将解决这个问题,相信我,我尝试了一切,问题出在其他地方。这就是它在Windows上的工作方式:

bundle update sqlite3

在关于nokogiri之后你可能会遇到另一个类似的错误,用命令修复它:

bundle update nokogiri

享受您的Ruby应用程序!

答案 2 :(得分:2)

您的/sqlite3/sqlite3_native环境变量中是否有该文件(PATH)?它需要是为了让宝石工作。如果您需要在命令提示符下检查尝试使用echo %PATH%。 如果您最终需要将其添加到路径中,则可以SET PATH=%PATH%;C:\Path\To\Sqlite3或在右键单击Properties\Advances\Environment Variables后选择My Computer选项来更改环境变量。编辑路径变量以包含您的路径和中提琴!

答案 3 :(得分:0)

此URL提供逐步说明和解决方案。 希望对你有效。 http://rubyonwindowsguides.github.io/book/ch02-05.html

答案 4 :(得分:0)

如果您已将Sqlite download link中的“ exe”和“ dll”提取到Ruby的bin文件夹中,仍然存在此问题。试试这个:

bundle update

gem uninstall sqlite3

在sqlite3的多个版本之间进行选择,请选择最后一个选项“所有版本”。在此处输入最后一个号码

  

选择要卸载的gem:
  1. sqlite3-1.3.13
  2. sqlite3-1.3.13-x64-mingw32
  3.所有版本
  > 3   。
  。
  如果删除此gem,将无法满足这些依赖性。
  继续卸载吗? [yN]
  >   y

gem install sqlite3 --platform=ruby

rails server

这应该有效。

如果以上方法对您有用,请通读此link,以获取更多说明。