让Ruby on Rails环境工作并安装sqlite3

时间:2013-03-22 15:57:49

标签: ruby-on-rails ruby-on-rails-3 sqlite rubygems ruby-on-rails-3.2

尝试升级到最新版本的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-mingw64-64-4.7.2-20130224-1432-sfx.exe上安装了这个版本的devkit。

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

5 个答案:

答案 0 :(得分:2)

在糟糕的环境中运行导轨会让您感到头疼。依赖性将与您唯一的ruby版本冲突,并考虑重新安装您的操作系统。

看起来您正在使用Windows。我在新的Windows 8计算机上安装了rails 3.2。在Windows文件系统中随机处理配置文件几天后,我抓住了一台安装了Ubuntu操作系统的旧笔记本电脑(仅因为UEFI阻止我格式化Windows 8并安装ubuntu)。

帮自己一个忙!获取Ubuntu的安装。它使学习Ruby和Rails更容易,因为文件不会乱七八糟的Windows文件夹。

要完成,请了解RVM或RBENV。通过轻松安装和切换版本,它们将使您的生活更加美好。还有其他好处只是偏离主题。

RVM Install< - 个人选择,但我没有尝试过RBEnv。

RBEnv on Github

前几次安装Rails很头疼。如果您安装上述选项之一,希望它只会令人头疼。

答案 1 :(得分:2)

由于编译SQLITE.h,我对Ruby 2.0和SQLite没有任何问题

解决方案

转到以下网址,让那些希望使用Windows的其他Rails 4 Rubyists为预编译宝石编译gem的下一步工作人员将此问题平息:this link

使用-with-opt-dir=<Path of Sqlite.3 bin, lib, include, and share folders>命令之类的命令。唯一棘手的部分是官方sqlite3网站提供的文件是预编译的,这可能是非常难以考虑的问题。

如果您在使用Ruby 2.0和Rails 4.0.0.0beta1时仍然遇到任何问题,我可以给您进一步说明。

对于Sqlite3和Rails,使用Ruby 2.0和Windows对你来说应该是完美的。请注意,当涉及到Rails 4.0.0beta1时,要避免使用Ruby 2.0 64位,因为Rails 4的一个相关宝石不正确地标记了您的计算机的CPU与其gem要求不兼容;这很快就解决了。

编辑:注意到我没有得到更多明确指示的帮助;为您提供了已经花时间的人和启动并运行所需文件的链接。

@Brian Petro:实际上,如果你知道Gem和.h文件在一天结束时如何有效地构建它们,那么解决这个问题就很容易了。问题源于如何用Ruby 2.0处理一些宝石;从Ruby 2.0预编译的gems开始,如果它们具有ABI Breakage,那么它们对于以前版本的Ruby来说是不方便的。 Sqlite3 gem就是其中之一:

答案 2 :(得分:1)

您是否在rubyinstaller google组中看到了主题New Knapsack package: sqlite (experimental),您可以使用新软件包并安装gem。

我可以成功安装gem,你可以参考以下主题:

SQLite3 Ruby 2.0 on Windows

我的环境:

  1. OS:win 7 64bit
  2. Ruby:ruby 2.0.0p247(2013-06-27)[i386-mingw32]
  3. 宝石:2.0.5

答案 3 :(得分:0)

你试过http://railsinstaller.org/吗?从他们的网站:“RailsInstaller拥有你需要的一切运行。在一个易于使用的安装程序中,你可以获得完整Rails堆栈所需的所有常见软件包。立即下载并编写(并运行)Rails代码立刻。”看起来它包含sqlite。

答案 4 :(得分:0)

link会有所帮助。

首先安装 libsqlite3-dev ,然后使用gem 尝试 sqlite3。

将包管理器用于libsqlite3-dev

sudo gem install sqlite3