作为真正的新的Ruby / Rails,并试图解决这个问题自己这个周末我正在试图在这里寻求帮助。
我有一个完整的Ruby /阿帕奇/乘客在FreeBSD进行设置,而我试图完成使用Windows作为Ruby开发环境的任务。
至今:
我没有“理解”。 试图安装了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
尽管这个问题已经回答了,我要发布我的研究,以帮助他人。 我发现网上很多资料,但作为一个Ruby的新手我有以下所有一个艰难的时间。 最基本的答案来自于下面的帖子https://github.com/luislavena/sqlite3-ruby/issues/82与指令就如何正确安装红宝石2.0.0-P0 sqlite3的“paulwis”和一些评论的https: //github.com/rails/rails/issues/10150 。 所以在这里,它是:
- 安装红宝石的devkit您的设置(的devkit-mingw64-64-4.7.2-20130224-1432-sfx.exe对我来说,因为我使用的是64位机)
- 下载并从Sqlite.org提取的autoconf包
- 运行msys.bat(它是红宝石的devkit根文件夹中)
- cd到你下载SQLite的源路径(例如: “CD / C的/ dev / sqlite3的” 为路径为 “C:\ dev的\ sqlite3的” 如果你是新来MSYS / MINGW32)
- 运行“的./configure”
- 运行“make”
- 运行 “make install的”
再次获取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)
- 检查你的Rails应用程序的Gemfile.lock的,并确保它指向正确的sqlite3的版本。 矿是 “的sqlite3(1.3.7 86的mingw32)”,并手动将其改为 “sqlite3的(1.3.7-x64的的mingw32)”。 卸下平台也适用: “sqlite3的(1.3.7)”。
希望这可以帮助别人。
我能够与胜利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
某处路径。 恕我直言,这是最好的保持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
对于Windows,转到C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/sqlite3-1.3.13-x64-mingw32/lib/sqlite3.rb
并确保
require "sqlite3"
,而不是原生
获得从这里胖二进制
https://ci.appveyor.com/project/MSP-Greg/sqlite3-ruby/build/3/job/hhk6ie8gdo545svr/artifacts
和
gem install c:\path\to\downloaded_gem.gem
我想我会放在一个答案 - 从意见,为后人的缘故。 这个问题似乎是,我抓住的Ruby / Rails(Windows版),这是不兼容“但”与sqlite3的新版本。
我降级到1.9.x的,并能够运行的东西。
最简单的方式获得设立了Ruby on Rails的Windows机器上是使用RailsInstaller,它会自动安装和配置sqlite3的为您服务。 一步。
http://railsinstaller.org/en