让Ruby on Rails环境工作并安装sqlite3[英] Getting Ruby on Rails environment working and installing sqlite3

本文是小编为大家收集整理的关于让Ruby on Rails环境工作并安装sqlite3的处理方法,想解了让Ruby on Rails环境工作并安装sqlite3的问题怎么解决?让Ruby on Rails环境工作并安装sqlite3问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

正在尝试升级到最新版本的 Ruby on Rails.我的 ruby​​ 和 rails 安装正常(我认为).

C:\Users\benjaminw>ruby --version
ruby 2.0.0p0 (2013-02-24) [x64-mingw32]

C:\Users\benjaminw>rails -v
Rails 3.2.13

我正在遵循 Ruby on Rails 书中的指导指南,但它有点过时了.下一步说下载 sqlite3 db 并将文件解压缩到以下文件夹 C:/Ruby200/bin

然后运行以下命令以确保数据库安装正确

C:\Users\benjaminw>sqlite3 --version
3.7.16 2013-03-18 11:39:23 66d5f2b76750f3520eb7a495f6247206758f5b90

这就是问题出现的地方.当我输入下一个命令时,我得到一个错误,似乎正确设置环境很重要.有谁知道以下是什么意思以及如何解决?哦,我在我的 Windows 7 计算机上安装了这个版本的 devkit DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe.

C:\Users\benjaminw>gem install sqlite3-ruby
Temporarily enhancing PATH to include DevKit...
Building native extensions.  This could take a while...
ERROR:  Error installing sqlite3-ruby:
    ERROR: Failed to build gem native extension.

C:/Ruby200/bin/ruby.exe extconf.rb
checking for sqlite3.h... no
sqlite3.h is missing. Install SQLite3 from http://www.sqlite.org/ first.
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

Provided configuration options:
    --with-opt-dir
    --without-opt-dir
    --with-opt-include
    --without-opt-include=${opt-dir}/include
    --with-opt-lib
    --without-opt-lib=${opt-dir}/lib
    --with-make-prog
    --without-make-prog
    --srcdir=.
    --curdir
    --ruby=C:/Ruby200/bin/ruby
    --with-sqlite3-dir
    --without-sqlite3-dir
    --with-sqlite3-include
    --without-sqlite3-include=${sqlite3-dir}/include
    --with-sqlite3-lib
    --without-sqlite3-lib=${sqlite3-dir}/
    --enable-local
    --disable-local


Gem files will remain installed in C:/Ruby200/lib/ruby/gems/2.0.0/gems/sqlite3-1
.3.7 for inspection.
Results logged to C:/Ruby200/lib/ruby/gems/2.0.0/gems/sqlite3-1.3.7/ext/sqlite3/
gem_make.out

推荐答案

编译 SQLITE.h 后,我绝对没有遇到 Ruby 2.0 和 SQLite 的问题

解决方案

请访问以下 URL 以解决此问题,以便有人为希望使用 Windows 的其他 Rails 4 Ruby 爱好者采取下一步编译 gem 而不是预编译 gem 的人:这个链接.

使用类似 -with-opt-dir=<Path of Sqlite.3 bin, lib, include, and share folders> 命令的命令.唯一棘手的部分是官方 sqlite3 网站提供的文件是预编译的,这很难认为是问题所在.

如果您在使用 Ruby 2.0 和 Rails 4.0.0.0beta1 进行此类操作时仍有任何问题,我可以为您提供进一步的说明.

在 Sqlite3 和 Rails 方面,现在在 Windows 上使用 Ruby 2.0 对您来说应该是非常好的.请注意在 Rails 4.0.0beta1 时避免使用 Ruby 2.0 64 位,因为 Rails 4 的依赖 gem 之一错误地标记您的计算机的 cpu 与其 gem 要求不兼容;很快就会解决.

编辑:注意到我没有提供更明确的指示所应有的帮助;已经花时间这样做的人为您提供了一个链接以及启动和运行所需的文件.

@Brian Petro:实际上,如果您知道 Gems 和 .h 文件在一天结束时有时如何与它们的构造一起工作,那么解决这个问题很容易.问题的根源在于 Ruby 2.0 如何处理一些 gem;从 Ruby 2.0 开始,对于以前版本的 Ruby 很方便的预编译 gem,如果它们有 ABI Breakage,它们将无法工作;Sqlite3 gem 就是其中之一:

本文地址:https://www.itbaoku.cn/post/786642.html