我正在尝试在 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 中,但这也不起作用。
简单来说,问题是 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 http://blog.mmediasys.com/2009/07/06/getting-started-with-rails-and-sqlite3/ website
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)