4

尝试升级到最新版本的 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

然后运行以下命令以确保 db 已正确安装

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
4

5 回答 5

2

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

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

帮自己一个忙!安装 Ubuntu。它使学习 Ruby 和 Rails 变得更容易,因为文件不会散落在一堆 Windows 文件夹中。

最后,了解 RVM 或 RBENV。通过轻松安装和更轻松地切换版本,它们将使您的生活更美好。还有其他一些离题的好处。

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

Github 上的 RBEnv

前几次安装 Rails 是一件令人头疼的事情。如果您希望使用上述选项之一进行安装,那只会让人头疼。

于 2013-03-22T16:16:50.857 回答
2

由于编译 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 就是其中之一:

于 2013-03-26T03:15:38.123 回答
1

有没有看到 ruby​​installer google 群里的话题,New Knapsack package: sqlite (experimental),可以使用新包安装gem。

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

Windows 上的 SQLite3 Ruby 2.0

我的环境:

  1. 操作系统:win 7 64位
  2. 红宝石:红宝石 2.0.0p247 (2013-06-27) [i386-mingw32]
  3. 宝石:2.0.5
于 2013-07-17T02:38:48.383 回答
0

This link will help.

First install libsqlite3-dev then try sqlite3 using gem.

Use package manager for libsqlite3-dev

and

sudo gem install sqlite3
于 2014-01-01T12:26:37.623 回答
0

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

于 2013-04-06T23:17:31.387 回答