为什么我不能安装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实际上并不是一个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。 快速谷歌说,百胜包是ruby。 所以运行这个:
sudo yum安装ruby-devel
我遇到了在我的fedora 13盒子上安装sqlite3-ruby gem的问题。 在sudo yum安装sqlite-devel之后它被修复了
sudo apt-get install ruby-dev
给我修好了
当我有这个问题:
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
在Ubuntu 9和10上尝试:
sudo apt-get install ruby-dev sudo apt-get install sqlite3-dev
然后运行
gem install sqlite3
运行以下Fedora操作系统:
yum install rubygem-sqlite3
你有build立sqlite3-ruby所需的所有源代码吗? gem正试图编译一些C代码,并找不到头。 你可能可以使用fedora rpm for sqlite3-ruby(我不使用fedora,但是我确定存在),如果你宁愿放弃编译。 对于ruby的东西,我更喜欢使用gem而不是发行版的包装系统。
我对Fedora并不是非常熟悉,但是在Ubuntu中,当你安装了apt-get的软件包时,你必须安装包含gcc和其他编译工具的build-essentials。我会说这可能是你的问题,你可以看看如何在Fedora上使用RPM或apt-get进行安装。
我通过安装“gcc”足够奇怪地解决了我的OLPC(Fedora 9)上的问题。 它似乎应该是那些开发包之一,但没有。
此外,关于其他包,后缀是“-devel”,而不是“-dev”,所以请确保你得到的结局是正确的:“ruby-devel”,“sqlite-devel”…
一旦你安装了,如果你尝试运行不同的rails脚本,如:脚本/服务器或脚本/控制台,谷歌“upgrade_rubygems”,以解决这个问题,如果你的gem太旧“<1.3.1”错误。 ..
HTH …
运行“sudo yum install sqlite-devel”,然后运行“gem install sqlite3”。 在我的Fedora 15上有同样的问题。
我有这个相同的确切问题…而不是gem'ing我在unbuntu上使用突触缺less的部分。
我的关键包是libsqlite-ruby1.9.1 …我logging了我的经验(供参考)与此错误: Sqlite3-gem-error-bundle-install