我尝试在带有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
只重复已发送到控制台的内容.我该如何安装这个宝石?
SQLite RubyGem实际上不是Ruby Gem,它是一个" C Gem",IOW用C语言编写.这意味着它必须在安装时编译并链接到Ruby解释器,为了做到这一点,它需要Ruby解释器的C头文件.
如果您自己编译Ruby,那些头文件将自动安装,但是,在RedHat-ish系统中,这样的头文件通常打包在一个单独的包中,称为
.因此,在这种情况下,您将需要安装ruby-dev
软件包以及可能的libsqlite3-dev
(Ubuntu)或sqlite-devel
(Fedora)软件包.
但是,您可能最好只安装操作系统的预打包libsqlite3-ruby
软件包,这样就可以自动满足所有依赖项.
(注意:所有包装名称都是凭空而来的,可能与您的系统不同.)
你可能需要ruby dev包.对于Ubuntu,您必须安装ruby1.8-dev,其中包含ruby头文件.一个快速的谷歌说yum包是ruby-devel.所以运行这个:
sudo yum install ruby-devel
我遇到问题在我的fedora 13盒子上安装sqlite3-ruby gem.在sudo yum安装sqlite-devel之后修复了它
当我遇到这个问题时:
gem install sqlite3 -v '1.3.9' Building native extensions. This could take a while... ERROR: Error installing sqlite3: ERROR: Failed to build gem native extension.
对我来说,安装" libsqlite3-dev ":
apt-get install libsqlite3-dev
sudo apt-get install ruby-dev
为我修好了.