ruby-on-rails - 为什么我不能安装 SQLite gem?

标签 ruby-on-rails ruby sqlite gem

我尝试在装有 Ruby 1.8.6、Rails 2.2.2、gem 1.3 和 sqlite-3.5.9 的 Fedora 9 Linux 机器上安装 SQLite gem。这是我正在运行的命令及其结果:

sudo gem install sqlite3-ruby
Building native extensions.  This could take a while...
ERROR:  Error installing sqlite3-ruby:
    ERROR: Failed to build gem native extension.

/usr/bin/ruby extconf.rb install sqlite3-ruby
can't find header files for ruby.

Gem files will remain installed in /usr/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.2.4 for inspection.
Results logged to /usr/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.2.4/ext/sqlite3_api/gem_make.out

gem_make.out 只是重复已经发送到控制台的内容。我该如何安装这个 gem?

最佳答案

SQLite RubyGem 实际上不是 RubyGem,它是一个“CGem”,IOW 它是用 C 编写的。这意味着它必须被编译和链接安装 Ruby 解释器时,为了执行此操作,它需要 Ruby 解释器的 C 头文件。

如果你自己编译 Ruby,这些头文件会自动安装,然而,在 RedHat-ish 系统中,这些头文件通常打包在一个单独的包中,称为 <whatever>-dev .因此,在这种情况下,您需要安装 ruby-dev包,可能还有 libsqlite3-dev (Ubuntu) 或 sqlite-devel (Fedora) 包也是如此。

但是,您最好只安装操作系统的预打包 libsqlite3-ruby包,这样所有的依赖关系都会自动得到满足。

(注意:所有软件包名称都是凭空而来的,在您的系统上可能有所不同。)

关于ruby-on-rails - 为什么我不能安装 SQLite gem?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/421225/

相关文章:

css - Rails - 使用 Font Awesome 图标

ruby-on-rails - 路由错误 No route matches [GET] "/static_pages/home", tutorial

java - Rails 和 Java 上的 Angular 和 Rest 服务之间的 session

ruby-on-rails - 如何在阻止 sudo 的 Linux 发行版上安装 RoR?

ruby-on-rails - 对从 ActiveRecord 或 ThinkingSphinx 获取的集合进行排序

android - 如何在 SQLite 查询中使用通配符?

java - SELECT MAX(column) 只返回列名

ruby-on-rails - 我怎么能 'hide away' Ruby 中的复杂 group_by 子句?

ruby-on-rails - rails : Chartkick cummulative user graph

SQLite 在内存单元测试中显示 "no such table error"而不是真正的错误消息