当前位置:  开发笔记 > 后端 > 正文

Ruby在Windows上找不到sqlite3驱动程序

如何解决《Ruby在Windows上找不到sqlite3驱动程序》经验,为你挑选了1个好方法。

我试图在Windows上设置Ruby on Rails.我正在使用看起来相当不错的Flash Rails发行版,但是sqlite3存在问题.我发现线程告诉我安装版本1.2.3,安装正常.我正在使用ruby 1.9.0,每次我尝试运行使用数据库的脚本(例如rake db:create)时,都会收到错误消息"找不到sqlite3的驱动程序".

这显然是一个缺少的sqlite3.dll,但我的%PATH%中有dll,我也尝试将其复制到我运行脚本的目录,即sqlite3 ruby​​代码所在的目录.

有没有人有任何想法?如果可能的话,我希望所有的红宝石都是自包含的,所以我可以从笔式驱动器中使用它.

编辑:澄清一下,我已经使用gem install来安装ruby-sqlite3 gem - 它只是没有功能,因为它找不到sqlite3.dll(即使它实际上存在于我的%PATH%目录中)

编辑第2部分:在进行一些挖掘后,问题似乎是ruby不会加载sqlite3_api.dll.我已经将它复制到我的文件系统上,我只是无法读取文件.同一目录中的其他dll库(例如zlib.dll)工作正常!我尝试将dll安装到system32中,但这也无效.



1> 小智..:

简单的问题是sqlite3-ruby 1.2.3与ruby 1.9不兼容.这是因为ruby 1.9不使用.dll文件来代替它使用.so文件的c库.此外,因为sqlite3_api.dll是针对msvcrt-ruby18.dll编写的.这意味着它特别只支持ruby 1.8.*.

好消息是有一个胖二进制版本将支持ruby 1.8和ruby 1.9.卸载所有以前版本的sqlite3-ruby,然后安装此版本.(您可能必须在卸载后手动删除gem的某些版本.)以便安装它使用

install sqlite3-ruby --source http://gems.rubyinstaller.org

有关更多信息,请访问此网站

推荐阅读
LEEstarmmmmm
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有