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

在Windows上不能将sqlite3与Ruby 1.9.2和Rails 3.0.0一起使用

  •  0
  • mliebelt  · 技术社区  · 15 年前

    我首先要解释一下我的背景,然后是问题:

    1. 我已经使用RubyonRails三年了,有不同的应用程序,并且从1.2升级到2.3.9。我想尽快升级到3.0.0。
    2. 我读到的所有关于它的信息都告诉我使用Ruby的当前版本1.9.2来处理Rails3.0.0,所以我在Windows上安装了预编译的二进制1.9.2。
    3. 我记得sqlite3需要在路径的某个地方安装dll,所以我将它复制到新的bin目录。
    4. 我也安装了必要的sqlite3 ruby。
    5. 我创建了一个新的应用程序,生成了一个虚拟表迁移,并尝试执行“rake db:migrate”。
    6. 答案是: rake aborted! no driver for sqlite3 found

    我四处搜索,找到了一些答案,告诉我自己安装sqlite3的二进制文件(这对我来说是遥不可及的)。

    所以问题是:

    在Windows上使用Ruby1.9.2上的Rails3.0.0的正确设置是什么?

    顺便说一下,当我只安装sqlite3 ruby时,我得到了一个更新的版本(1.3.1),它似乎可以工作。但是当我想在Rails中使用它时,Rails坚持安装1.2.5版(显然这对我不起作用)。

    1 回复  |  直到 15 年前
        1
  •  1
  •   mliebelt    15 年前

    嗯,我知道这是不好的风格,但我找到了一个解决办法。我不知道为什么它一开始就不起作用…

    我的解决方案是:

    1. 安装最新版本的sqlite3 ruby(当前版本1.3.1)

    2. 该安装为您(作为DOS shell中的文本)提供了复制正确sqlite3.dll的信息。确保将其复制到ruby的bin目录中(或者路径上的其他任何地方)。

    3. 确保您的gemfile(app root/gemfile)列出了以下要求:

      gem“sqlite3 ruby”,“>=1.3.1”,:require=>'sqlite3'

    4. 立即执行“rake db:migrate”(此时应该可以使用)。

    我没有找到Rails 3.0.0坚持安装sqlite3 ruby 1.2.5版本的原因,但是安装了该版本后,sqlite3就不适合我了。

    推荐文章