65

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をインストールするにはどうすればよいですか?

4

15 に答える 15

138

SQLite RubyGem は実際にはRuby Gem ではなく、「C Gem」であり、IOW は C で記述されています。つまり、インストール時にコンパイルして Ruby インタープリターにリンクする必要があります Ruby インタープリター用の C ヘッダー ファイル。

Ruby を自分でコンパイルすると、これらのヘッダー ファイルは自動的にインストールされますが、RedHat っぽいシステムでは、そのようなヘッダー ファイルは通常、<whatever>-dev. したがって、この場合、ruby-devパッケージと、場合によってはlibsqlite3-dev(Ubuntu) またはsqlite-devel(Fedora) パッケージもインストールする必要があります。

libsqlite3-rubyただし、すべての依存関係が自動的に満たされるように、オペレーティング システムの事前にパッケージ化されたパッケージをインストールする方がよい場合があります。

(注意: すべてのパッケージ名はどこからともなく引き出されたものであり、システムによって異なる場合があります。)

于 2009-01-07T18:04:42.123 に答える
13

おそらく ruby​​ dev パッケージが必要です。Ubuntu の場合、ruby ヘッダー ファイルを含む ruby​​1.8-dev をインストールする必要があります。簡単なグーグルは、yum パッケージが ruby​​-devel であると言います。これを実行します:

sudo yum install ruby​​-devel

于 2009-01-08T02:55:43.313 に答える
10

フェドーラ13ボックスにsqlite3-rubygemをインストールする際に問題が発生しました。sudo yuminstallsqlite-develの後に修正されました

于 2011-01-06T10:42:07.623 に答える
9

私がその問題を抱えていたとき:

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
于 2016-05-12T12:33:46.633 に答える
6
sudo apt-get install ruby-dev

私のためにそれを修正しました。

于 2010-12-18T10:31:28.107 に答える
3

Ubuntu 9 および 10 で試してください:

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

次に実行します

gem install sqlite3
于 2011-08-23T21:19:05.507 に答える
2

Fedora OS の場合、次を実行します。

yum install rubygem-sqlite3
于 2011-07-20T06:08:56.347 に答える
1

sqlite3-ruby をビルドするために必要なすべてのソース コードはありますか? Gem はいくつかの C コードをコンパイルしようとしていますが、ヘッダーが見つかりません。コンパイルを省略したい場合は、おそらく sqlite3-ruby に fedora rpm を使用できます (私は fedora を使用していませんが、存在することは確かです)。個人的には、Ruby に関しては、ディストリビューションのパッケージング システムよりも gem を使用することを好みます。

于 2009-01-07T17:44:00.057 に答える
0

私はFedoraにあまり詳しくありませんが、Ubuntuではapt-getがあり、gccやその他のC用のコンパイルツールを含むbuild-essentialsをインストールする必要があります。これが問題になる可能性があります。 、そして、RPMまたはapt-getを使用してFedoraにインストールする方法を調べます。

于 2009-01-07T17:53:51.630 に答える
0

「sudo yum install sqlite-devel」を実行してから、「gem install sqlite3」を実行します。私のFedora 15でも同じ問題がありました。

于 2011-08-01T05:38:51.693 に答える
0

奇妙にも「gcc」をインストールすることで、OLPC (Fedora 9) の問題を修正しました。これらの開発パッケージの 1 つであるべきだったようですが、違います。

また、他のパッケージに関しては、サフィックスは「-dev」ではなく「-devel」なので、「ruby-devel」、「sqlite-devel」などの末尾が正しいことを確認してください...

それをインストールしたら、スクリプト/サーバーまたはスクリプト/コンソールなどのさまざまな Rails スクリプトを実行しようとしたときに、gem が古すぎる「< 1.3.1」というエラーが表示された場合は、Google で「upgrade_rubygems」と検索して問題を解決してください。 ..

HTH...

于 2009-05-15T21:48:32.693 に答える
0

これとまったく同じ問題がありました...不足している部分をgemする代わりに、unbuntuでシナプスを使用しました。

私にとって重要なパッケージは libsqlite-ruby1.9.1 でした...このエラーに関する私の経験を (参照用に) 文書化しました: Sqlite3-gem-error-during-bundle-install

于 2010-12-21T19:23:57.607 に答える
0

bundle installFedora 29 で react-rails アプリを生成した後、実行中にこのエラーが発生しました。 を実行して適切な開発パッケージを特定しdnf search sqlite3、それをインストールしましたdnf install libsqlite3x-devel。これで修正されました。

于 2019-04-15T15:50:45.180 に答える