加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Ruby在Windows上找不到sqlite3驱动

发布时间:2020-12-16 21:57:58 所属栏目:百科 来源:网络整理
导读:我正在 Windows上设置 Ruby on Rails.我使用的Flash Rails发行版看起来不错,但是sqlite3有一个问题.我发现线程告诉我安装版本1.2.3,安装正常.我使用的是ruby 1.9.0,每次尝试运行使用数据库的脚本(例如rake db:create)时,会收到一条错误消息“找不到sqlite3
我正在 Windows上设置 Ruby on Rails.我使用的Flash Rails发行版看起来不错,但是sqlite3有一个问题.我发现线程告诉我安装版本1.2.3,安装正常.我使用的是ruby 1.9.0,每次尝试运行使用数据库的脚本(例如rake db:create)时,会收到一条错误消息“找不到sqlite3的驱动程序”.

这显然是一个缺少sqlite3.dll,但是我的%PATH%中有dll,我也试过将它复制到我正在运行sqlite3 ruby??代码所在目录的目录中.

有人有什么想法吗?如果可能,我希望所有的ruby的东西都是独立的,所以我可以用笔驱动器使用它.

编辑:为了澄清,我已经使用gem安装来安装ruby-sqlite3 gem – 它只是不起作用,因为它找不到sqlite3.dll(即使它实际上存在于我的%PATH%的目录中)

编辑第2部分:做了一些挖掘之后,问题出现,ruby将不会加载sqlite3_api.dll.我已经把它复制到我的文件系统,我只是读取文件失败.同一目录中的其他dll库(例如zlib.dll)工作正常!
我尝试将dll安装到system32中,这也不行.

解决方法

简单的问题是,sqlite3-ruby 1.2.3与ruby 1.9不兼容.这是因为ruby 1.9不使用.dll文件的C库,它使用.so文件.另外,由于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

欲了解更多信息,请参阅this网站

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读