微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在Windows上安装Ruby的sqlite3?

对Ruby / Rails来说真的很陌生,在这个周末我试图自己解决这个问题之后,我正在尝试在这里寻求build议。

我在FreeBSD上完成了一个完整的Ruby / Apache / Passenger设置,我试图完成使用Windows作为Ruby开发环境的任务。

至今:

Ruby安装,v2.0.0p0(2013-02-24)[x64-ming32]

安装Rails,v.3.2.12

我已经安装并注册了Ruby开发工具包。

我有sqlite3 DLL / EXE复制到Ruby“bin”文件夹(这也是我的path使用“启动命令提示符与Ruby”控制台。)

我可以成功启动一个rails服务器,继续http://guides.rubyonrails.org/getting_started.html教程到3.3。

“> rake db:create”告诉我:

如何为本地Rails项目设置Postgres数据库

Nginx + Rails:提供静态目录,index.html和所有其他path到轨?

Rails 4生产资产在AWS ELB和Nginx上返回502

Linux,Rails,Mono C#,No-sql设置

Django和Rails – 我应该在Windows环境中期待什么?

请安装sqlite3适配器: gem install activerecord-sqlite3-adapter (sqlite3不是bundle的一部分,将它添加到Gemfile中)

我对此没有“认识”。 试图安装activerecord-sqlite3适配器给我一个“找不到有效的gem…”

“> gem install sqlite3”返回:

Building native extensions. This Could take a while... Building native extensions. This Could take a while... ERROR: Error installing sqlite3: ERROR: Failed to build gem native extension.

D:/Development/Ruby200-x64/bin/ruby.exe extconf.rb checking for sqlite3.h... *** extconf.rb Failed ***

现在我被困在我甚至不知道我的Ruby on Windows安装是什么状态的地步。我试图按照主要的Rails教程,并没有指定任何这些问题(可能是因为Ruby在Windows上似乎是一个很多人自然的痛苦。)

我错过了什么?!? 我只是想在Windows上安装Ruby的sqlite3,似乎简单的权利?

如果我做">rais db"的sqlite壳提出:

sqlite version 3.7.15.2 2013-01-09 11:53:05

使用步骤不能解决我的问题的类似问题: 安装sqlite 3.6在Windows 7上

在Ubuntu上安装sqlite3不会打得好

Nginx,Unicorn和Rails = 502 Bad Gateway

使用Nginx和Puma在Ruby on Rails应用上启用SSL

“我们很抱歉,但出了问题”:rails + Nginx + puma + digitalocean + ssl

在Windows上的精简导轨服务器/ eventmachine无法使用自定义证书

即使这个问题已经回答了,我想发布我的研究来帮助别人。 我在网上发现了很多信息,但作为一个Ruby新手,我经历了一段艰难的时光。 基本的答案来自以下帖子https://github.com/luislavena/sqlite3-ruby/issues/82与“paulwis”的说明如何正确安装sqlite3红宝石2.0.0-p0和一些评论在https: //github.com/rails/rails/issues/10150 。 所以这里是:

安装Ruby Devkit进行设置(DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe,因为我使用的是x64机器)

sqlite.org下载并提取autoconf包

运行msys.bat(它位于ruby devkit根文件夹内)

cd进入你下载sqlite源码的路径(例如:如果你是MSYS / MINGW32的新手,那么你可以使用“cd / c / dev / sqlite3”作为路径“c: dev sqlite3

运行“./configure”

运行“make”

运行“make install”

再次获取sqlite3 gem,这次指定平台和新编译的二进制文件的路径:

gem install sqlite3 --platform=ruby -- --with-sqlite3-include=[pathtosqlite3.h] --with-sqlite3-lib=[pathtosqlite3.o]

例如:

gem install sqlite3 --platform=ruby -- --with-sqlite3-include=/c:/dev/sqlite3/ --with-sqlite3-lib=/c:/dev/sqlite3/.libs/

(从步骤4中给出的路径)

检查你的rails应用程序的Gemfile.lock,并确保它指向正确的sqlite3版本。 我的是“sqlite3(1.3.7-x86-mingw32)”,并手动将其更改为“sqlite3(1.3.7-x64-mingw32)”。 删除平台也可以工作:“sqlite3(1.3.7)”。

希望这有助于某人。

我可以在win XP32上用ruby2.0.0安装sqlite3,命令如下:

c:>gem install sqlite3 --platform=ruby -- --with-sqlite3-dir=C:/distr/sqlite --with-sqlite3-include=C:/distr/sqlite

文件夹C:/distr/sqlite包含以下文件

shell.c

sqlite3.c

sqlite3.h

sqlite3ext.h

sqlite3.def

sqlite3.dll

所以,基本上我已经提取sqlite-amalgamation-3071602.zip和sqlite-dll-win32-x86-3071602.zip到C:/distr/sqlite 。

抬头

您仍然需要将sqlite3.dll和sqlite3.def副本放在PATH的某处。 恕我直言,最好将sqlite3二进制文件保存在ruby的bin文件夹中。

#!/usr/bin/env sh mkdir c:/sqlite3x86 wget -P c:/sqlite3x86 http://packages.openknapsack.org/sqlite/sqlite-3.7.15.2-x86-windows.tar.lzma cd c:/sqlite3x86 bsdtar --lzma -xf c:/sqlite3x86/sqlite-3.7.15.2-x86-windows.tar.lzma gem install sqlite3 --platform=ruby -- --with-opt-dir=c:/sqlite3x86 cd c:/ rm -rf c:/sqlite3x86

我想我会从后面的评论中为后人提供一个答案。 这个问题似乎是我抓住了一个新版本的Ruby / Rails(对于Windows),与sqlite3不兼容。

我降级到1.9.x,并能运行的东西。

在Windows机器上为Ruby on Rails设置最简单的方法是使用RailsInstaller,它会自动为您安装和配置sqlite3。 一步。

http://railsinstaller.org/en

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐