代码之家  ›  专栏  ›  技术社区  ›  ZX12R

Ruby on Rails中的“sqlite3 not found”错误

  •  1
  • ZX12R  · 技术社区  · 15 年前

    我对Ror很陌生…我安装了Ruby并安装了它的gems…

    然后下载并安装mysql…

    创建了我的第一个目录演示。

    然后使用启动服务器 Ruby脚本/服务器

    进入 http://localhost:3000 在浏览器中找到一个“欢迎加入”页面。到目前为止一切都很好…

    现在我使用 Ruby脚本/生成控制器say

    控制器被创建,它看起来像这样

    class SayController < ApplicationController
     def hello
    
     end
    end
    

    然后我创建一个视图文档 你好.html.erb 看起来像这样……

    <html>
    <body>
        <h1>Hello World!!!</h1>
    </body>
    </html>
    

    现在我输入URL http://localhost:3000/say/hello 在浏览器中,我得到以下错误

    由于找不到sqlite3.dll,此应用程序启动失败。重新安装应用程序可能会解决此问题。 浏览器会显示一个默认的错误页面

    我在谷歌上搜索了一下,然后尝试了以下方法。

    1.gem安装sqlite ruby

    2.gem安装sqlite3 ruby

    第一个返回成功消息……第二个最初给出成功消息,然后用洪水淹没我 没有定义 错误。

    我甚至还没有开始使用模型……为什么它甚至在sqlite中抛出异常……!我完全困惑和迷路了,因为这是我第一次尝试罗尔…

    事先谢谢…

    2 回复  |  直到 15 年前
        1
  •  2
  •   Nate    15 年前

    sqlite3是自Rails 2.0.2以来的默认数据库-以前它是MySQL。数据库配置在config/database.yml中找到,您可以根据需要更改它。

    即使没有模型,Rails也会尝试确保database.yml中指定的实际DBMS可以使用。

    您安装的宝石是“驱动程序”,允许您通过Ruby与数据库进行对话(类似于Java中的JDBC驱动程序或.NET的ADO.NET驱动程序)-而不是实际的DBMS。(sqlite3 ruby是正确的一个-我不知道为什么它会显示所有那些“没有定义的…”行-它对我也一样,但它是有效的。也许其他人知道为什么…)

    .dll是DBMS。sqlite3是一个非常轻量的数据库-将.dll放到路径中是您真正需要做的。将它放在ruby/bin目录中是开发机器的一种常见做法。

        2
  •  0
  •   ZX12R    15 年前

    找到了一个解决方案……不知道是黑客还是解决方案……但它起作用了……我复制了sqlite3.dll并将其粘贴到ruby/bin floder中,它起作用了。!!

    但我想知道这是否是真正的解决方案…

    推荐文章