为什么我不能安装SQLite gem?

ruby-on-rails ruby sqlite gem

59198 观看

15回复

821 作者的声誉

我尝试在带有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只重复已发送到控制台的内容。我该如何安装这个宝石?

作者: Eric Noob 的来源 发布者: 2009 年 1 月 7 日

回应 (15)


1

7289 作者的声誉

你有构建sqlite3-ruby所需的所有源代码吗?Gem正在尝试编译一些C代码,但无法找到标题。如果你想放弃编译,你可以使用fedora rpm for sqlite3-ruby(我不使用fedora,但我确定存在)。就个红宝石而言,我更喜欢使用宝石而不是发行版的包装系统。

作者: barneytron 发布者: 07.01.2009 05:44

0

6623 作者的声誉

我对Fedora并不是很熟悉,但是在你安装软件包时你在Ubuntu中有apt-get,你必须安装build-essentials,包括gcc和C的其他编译工具。我想说这可能是你的问题,你可以看看如何在Fedora上使用RPM或apt-get安装它。

作者: Tim Knight 发布者: 07.01.2009 05:53

136

300158 作者的声誉

决定

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软件包,这样就可以自动满足所有依赖项。

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

作者: Jörg W Mittag 发布者: 07.01.2009 06:04

12

3136 作者的声誉

你可能需要ruby dev包。对于Ubuntu,您必须安装ruby1.8-dev,其中包含ruby头文件。一个快速的谷歌说yum包是ruby-devel。所以运行这个:

sudo yum install ruby​​-devel

作者: hacintosh 发布者: 08.01.2009 02:55

0

0 作者的声誉

我通过奇怪的安装'gcc'修复了我的OLPC(Fedora 9)上的问题。它似乎应该是那些开发包之一,但没有。

另外,关于其他包,后缀是“-devel”,而不是“-dev”,所以请确保你得到那些结尾:“ruby-devel”,“sqlite-devel”......

一旦安装好了,如果你在尝试运行各种rails脚本(例如:脚本/服务器或脚本/控制台)时出现关于你的gems太旧“<1.3.1”的错误,请点击“upgrade_rubygems”来解决这个问题。 ..

HTH ...

作者: cosmo lee 发布者: 15.05.2009 09:48

6

61 作者的声誉

sudo apt-get install ruby-dev

为我修好了。

作者: Sacha 发布者: 18.12.2010 10:31

0

1 作者的声誉

我有同样的问题...而不是宝石缺少的部分我在unbuntu上使用了突触。

我的关键包是libsqlite-ruby1.9.1 ...我在以下错误中记录了我的经验(供参考): Sqlite3-gem-error-during-bundle-install

作者: Riding Rails 发布者: 21.12.2010 07:23

9

91 作者的声誉

我遇到问题在我的fedora 13盒子上安装sqlite3-ruby gem。在sudo yum安装sqlite-devel之后修复了它

作者: Rahul 发布者: 06.01.2011 10:42

2

21 作者的声誉

对Fedora OS运行以下命令:

yum install rubygem-sqlite3
作者: Chase 发布者: 20.07.2011 06:08

0

55 作者的声誉

运行“sudo yum install sqlite-devel”然后“gem install sqlite3”。在Fedora 15上遇到同样的问题。

作者: rapidror 发布者: 01.08.2011 05:38

3

31 作者的声誉

在Ubuntu 9和10上尝试:

sudo apt-get install ruby-dev
sudo apt-get install sqlite3-dev

然后跑

gem install sqlite3
作者: ldemon 发布者: 23.08.2011 09:19

9

324 作者的声誉

当我遇到这个问题时:

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
作者: matiasmasca 发布者: 12.05.2016 12:33

0

908 作者的声誉

在高山上,您需要安装sqlite-dev包。

作者: Omer Levi Hevroni 发布者: 13.02.2018 09:45

0

1 作者的声誉

bundle install在Fedora 29上生成react-rails应用程序后运行时遇到此错误。我能够通过运行确定合适的开发包dnf search sqlite3,然后安装它dnf install libsqlite3x-devel。这为我修好了。

作者: g4k13 发布者: 15.04.2019 03:50

0

246 作者的声誉

我也遇到了同样的问题,问题是你的Linux安装需要安装SQLite3的开发库才能构建gem。

以下是我解决问题的方法

打开终端并运行以下命令

sudo apt-get install sqlite3

sudo apt-get install libsqlite3-dev

然后使用此命令再次尝试安装Sqlite3 gem

gem install sqlite3

就这样。

我希望这有帮助

作者: Promise Preston 发布者: 07.08.2019 06:41
32x32