为什么我不能安装SQLite的ruby?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (70)

我尝试在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只是重复已经发送到控制台的内容。我怎样才能安装这个ruby?

提问于
用户回答回答于

SQLite RubyGem实际上并不是一个Ruby Gem,它是一个“ C Gem”,IOW它是用C语言编写的。这意味着它在安装时必须被编译和链接到Ruby解释器,为了做到一点它需要Ruby解释器的C头文件。

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

但是,安装操作系统的预打包libsqlite3-ruby软件包可能会更好,这样所有的依赖关系都会自动满足。

(注意:所有的软件包名称都是空的,可能与你的系统不同。)

用户回答回答于

你可能需要使用ruby dev软件包。对于Ubuntu,你必须安装包含ruby头文件的ruby1.8-dev。。所以运行这个:

sudo yum install ruby-devel

扫码关注云+社区

领取腾讯云代金券