如何为Ruby在Windows上安装sqlite3的?(How do I install sqlit

2019-07-21 21:04发布

作为真正的新的Ruby / Rails,并试图解决这个问题自己这个周末我正在试图在这里寻求帮助。

我有一个完整的Ruby /阿帕奇/乘客在FreeBSD进行设置,而我试图完成使用Windows作为Ruby开发环境的任务。

至今:

  • 安装红宝石,v2.0.0p0(2013年2月24日)[x64的ming32]
  • 导轨安装,v.3.2.12
  • 我已经安装了Ruby开发工具包和注册。
  • 我有sqlite3的DLL / exe文件复制到红宝石“bin”文件夹(这也是使用控制台“使用Ruby启动命令提示符”我的路。)
  • 我可以成功地启动轨道服务器,并与持续http://guides.rubyonrails.org/getting_started.html教程3.3。
  • “>耙分贝:创建”告诉我:

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

我没有“理解”。 试图安装了activerecord-sqlite3的适配器给了我一个“无法找到有效的宝石......”

  • “>创业板安装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安装中,我正在努力跟随主梁教程,它不指定任何的这些问题(可能是因为Ruby在Windows上似乎是很多人的自然疼痛。)

我缺少什么?!? 我只是想在Windows上安装红宝石sqlite3的,似乎很简单吧?

如果我做">rais db" SQLite的外壳呈现:

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

:与不解决我的问题的步骤类似的问题, 安装的SQLite 3.6在Windows 7

Answer 1:

尽管这个问题已经回答了,我要发布我的研究,以帮助他人。 我发现网上很多资料,但作为一个Ruby的新手我有以下所有一个艰难的时间。 最基本的答案来自于下面的帖子https://github.com/luislavena/sqlite3-ruby/issues/82与指令就如何正确安装红宝石2.0.0-P0 sqlite3的“paulwis”和一些评论的https: //github.com/rails/rails/issues/10150 。 所以在这里,它是:

  1. 安装红宝石的devkit您的设置(的devkit-mingw64-64-4.7.2-20130224-1432-sfx.exe对我来说,因为我使用的是64位机)
  2. 下载并从Sqlite.org提取的autoconf包
  3. 运行msys.bat(它是红宝石的devkit根文件夹中)
  4. cd到你下载SQLite的源路径(例如: “CD / C的/ dev / sqlite3的” 为路径为 “C:\ dev的\ sqlite3的” 如果你是新来MSYS / MINGW32)
  5. 运行“的./configure”
  6. 运行“make”
  7. 运行 “make install的”
  8. 再次获取sqlite3的宝石,这次指定的平台和路径,以新编译的二进制文件:

     gem install sqlite3 --platform=ruby -- --with-sqlite3-include=[path\to\sqlite3.h] --with-sqlite3-lib=[path\to\sqlite3.o] 

    例如:

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

    (从步骤给定路径4)

  9. 检查你的Rails应用程序的Gemfile.lock的,并确保它指向正确的sqlite3的版本。 矿是 “的sqlite3(1.3.7 86的mingw32)”,并手动将其改为 “sqlite3的(1.3.7-x64的的mingw32)”。 卸下平台也适用: “sqlite3的(1.3.7)”。

希望这可以帮助别人。



Answer 2:

我能够与胜利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.zipsqlite-dll-win32-x86-3071602.zipC:/distr/sqlite

当心

你仍然需要投入的拷贝sqlite3.dllsqlite3.def某处路径。 恕我直言,这是最好的保持sqlite3的二进制文件在Ruby的bin文件夹。



Answer 3:

#!/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


Answer 4:

对于Windows,转到C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/sqlite3-1.3.13-x64-mingw32/lib/sqlite3.rb

并确保

require "sqlite3" ,而不是原生



Answer 5:

获得从这里胖二进制

https://ci.appveyor.com/project/MSP-Greg/sqlite3-ruby/build/3/job/hhk6ie8gdo545svr/artifacts

gem install c:\path\to\downloaded_gem.gem


Answer 6:

我想我会放在一个答案 - 从意见,为后人的缘故。 这个问题似乎是,我抓住的Ruby / Rails(Windows版),这是不兼容“但”与sqlite3的新版本。

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



Answer 7:

最简单的方式获得设立了Ruby on Rails的Windows机器上是使用RailsInstaller,它会自动安装和配置sqlite3的为您服务。 一步。

http://railsinstaller.org/en



文章来源: How do I install sqlite3 for Ruby on Windows?