Ruby 1.8.6、Rails 2.2.2、gem 1.3、およびsqlite- 3.5.9。実行中のコマンドとその結果は次のとおりです。
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インタープリターにリンクする必要があります。実行するには、thatにCヘッダーファイルが必要ですRubyインタープリター。
Ruby自分でコンパイルすると、これらのヘッダーファイルは自動的にインストールされますが、RedHat系のシステムでは、このようなヘッダーファイルは通常<whatever>-dev
という別のパッケージにパッケージ化されます。 、この場合、Ruby-dev
パッケージと、場合によってはlibsqlite3-dev
(Ubuntu)またはsqlite-devel
(Fedora)パッケージもインストールする必要があります。
ただし、オペレーティングシステムのあらかじめパッケージ化されたlibsqlite3-Ruby
パッケージをインストールするだけで、すべての依存関係が自動的に満たされる方がよい場合があります。
(注:すべてのパッケージ名は薄い空気から引き出されており、システムによって異なる場合があります。)
おそらくRuby devパッケージ。Ubuntuの場合、Rubyヘッダーファイルを含むRuby1.8-devをインストールする必要があります。 yumパッケージはRuby-develなので、次を実行します。
Sudo yum install Ruby-devel
Fedora 13ボックスにsqlite3-Ruby gemをインストールする際に問題に直面しました。 Sudo yum install 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
私のためにそれを修正しました。
Ubuntu 9および10の場合:
Sudo apt-get install Ruby-dev
Sudo apt-get install sqlite3-dev
次に実行する
gem install sqlite3
Fedora OSで次を実行します。
yum install rubygem-sqlite3
Sqlite3-rubyのビルドに必要なすべてのソースコードがありますか? Gemは一部のCコードをコンパイルしようとしていますが、ヘッダーが見つかりません。コンパイルを行わない場合は、おそらくsqlite3-RubyにFedora rpmを使用できます(Fedoraは使用していませんが、Fedoraは存在するはずです)。個人的にRubyの場合、ディストリビューションのパッケージングシステムではなくgemを使用することを好みます。
私はこれとまったく同じ問題を抱えていました... unbuntuでシナプスを使用して不足しているピースをgemする代わりに。
私にとって重要なパッケージはlibsqlite-Ruby1.9.1でした...私は(参考のために)このエラーの経験を文書化しました: Sqlite3-gem-error-during-bundle-install
私もこれと同じ問題に直面しました。問題は、gemをビルドするために、LinuxのインストールにSQLite3の開発ライブラリをインストールする必要があることです。
問題の修正方法はこちら
ターミナルを開き、次のコマンドを実行します
Sudo apt-get install sqlite3
Sudo apt-get install libsqlite3-dev
そして、このコマンドを使用してSqlite3 gemを再度インストールしてみてください
gem install sqlite3
それで全部です。
これが役立つことを願っています
Alpineでは、sqlite-dev
パッケージをインストールする必要があります。
私はOLPC(Fedora 9)の 'gcc'を奇妙に十分にインストールすることで問題を修正しました。
また、他のパッケージに関しては、接尾辞は「-dev」ではなく「-devel」です。したがって、「Ruby-devel」、「sqlite-devel」...
一度インストールしたら、さまざまなRailsスクリプト、たとえば、script/serverまたはscript/consoleを実行しようとすると、gemが古すぎるというエラーが表示されます。 google "upgrade_rubygems"でその問題を修正します...
HTH ...
Fedora 29でreact-Railsアプリを生成した後、bundle install
を実行中にこのエラーが発生しました。dnf search sqlite3
を実行して適切な開発パッケージを特定し、dnf install libsqlite3x-devel
をインストールしました。これは私のためにそれを修正しました。
私はFedoraにあまり馴染みがありませんが、Ubuntuではapt-getを含むパッケージをインストールするときに、gccおよびC用のその他のコンパイルツールを含むbuild-essentialsをインストールする必要があります。そして、FedoraでRPMまたはapt-getを使用してインストールする方法を調べます。
「Sudo yum install sqlite-devel」を実行してから、「gem install sqlite3」を実行します。私のFedora 15でも同じ問題がありました。