Ubuntuでのsqlite3-rubyインストールエラー


257

sqlite3-rubyのインストール中に次のエラーが発生しました:

ネイティブ拡張の構築。しばらく時間がかかる場合があります...
エラー:sqlite3-rubyのインストールエラー:
    エラー:gemネイティブ拡張のビルドに失敗しました。

/usr/bin/ruby1.8 extconf.rb
sqlite3.hをチェックしています...いいえ
sqlite3.hがありません。「port install sqlite3 + universal」または「yum install sqlite3-devel」を試してください
*** extconf.rbが失敗しました***
何らかの理由でMakefileを作成できませんでした。おそらく不足しています
必要なライブラリやヘッダー。mkmf.logファイルで詳細を確認してください
詳細。構成オプションが必要になる場合があります。

提供される構成オプション:
    --with-opt-dir
    --opt-dirなし
    --with-opt-include
    --without-opt-include = $ {opt-dir} / include
    --with-opt-lib
    --without-opt-lib = $ {opt-dir} / lib
    --with-make-prog
    --make-progなし
    --srcdir =。
    --curdir
    --ruby = / usr / bin / ruby​​1.8
    --with-sqlite3-dir
    --without-sqlite3-dir
    --with-sqlite3-include
    --without-sqlite3-include = $ {sqlite3-dir} / include
    --with-sqlite3-lib
    --without-sqlite3-lib = $ {sqlite3-dir} / lib


Gemファイルは、検査のために/usr/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.3.1にインストールされたままになります。
/usr/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.3.1/ext/sqlite3/gem_make.outに記録された結果

sqlite3.hは/ usr / include /にあります

sudo gem install sqlite3-ruby --without-sqlite3-include = / usr / include

動かない

エラー:gemの実行中...(OptionParser :: InvalidOption)
    無効なオプション:--without-sqlite3-include = / usr / include

Ubuntu 10.04


同じ問題-これは答えられていません。sqlite3.hは存在せず、上記のすべてのパッケージがインストールされています。ubunut 10.10
rrt

sudo apt-get install build-essentialを試してから、sudo gem install sqlite3-ruby
Dmitry

1
それ以降は、「sqlite3ではなく」に変更されましたsqlite3-ruby
kelloti

3
marshlucaが提案したように、ubuntu 12.04で私のために働いた。sudo apt-get install libsqlite3-dev
panta

回答:


585

gemのネイティブ拡張をコンパイルするには、SQLite3開発ヘッダーが必要です。あなたは(おそらくでsudo)実行することでそれらをインストールすることができます:

apt-get install libsqlite3-dev

26
必要でしたsudo apt-get install libsqlite3-dev。ありがとう。
Bセブン

6
魅力のように働いた。ありがとう。
frank.m

ありがとうございます。これは明らかに自明ではありませんでした。
james_womack 2013

15

あなた--はそこに必要です。

sudo gem install sqlite3-ruby -- --with-sqlite3-include=/usr/include

これは、オプションが直接宝石ではなく特定の宝石であることを指定しています。



6

ubuntuで実行していて、RVMのRubyにRVMを使用している場合は、最初に追加してください:

sudo apt-get install libxslt-dev libxml2-dev

または、次のコマンドで確認できます。

このコマンドは、sqllite3とlibsqlite3-devの2つのパッケージを準備します。

sudo apt-get install sqlite3 libsqlite3-dev

-今、sqlite gemをインストールしてください

 [sudo] gem install sqlite3-ruby

-Ubuntuを使用する場合、sudoは必要ありません。

幸運を!注:Ubuntu 10.10を使用していますが、正常に動作しています。




4

他のすべてのソリューションを試しましたが、どれも役に立ちませんでした。

Ruby自体の開発パッケージも必要であることがわかりました。私にとって、それは助けになりました

sudo apt-get install ruby-full

ただし、多くの厄介な依存関係があります(emacs、wtfなど)。

sudo apt-get install ruby1.8-dev

大丈夫です。それがインストールされた後(そしてあなたはsqliteとsqlite-devパッケージがインストールされています)

sudo gem install sqlite3-ruby

魅力のように動作します。


1
私も働いた。sudo apt-get install ruby​​1.9.1-dev libsqlite3-dev
rajsite 2015年


1

これと同じ問題があり、以下がうまくいきました:

sqlite3を静的ライブラリとしてコンパイルし、ホームディレクトリのどこかにインストールしてから、gemインストールプロセスにそのオプションを提供します。

ダウンロードページに移動し、ソースを入手します。現時点での最新バージョンはhttp://www.sqlite.org/sqlite-autoconf-3070400.tar.gzです

ファイルに対してtar -xfを実行するか、圧縮解除するために通常行うことをすべて実行します。ディレクトリに入る

./configure --disable-shared --enable-static --prefix = / some / path / in / my / home

コンパイル、インストール、そしてgemをインストールするとき...

gem install sqlite3-ruby---with-sqlite3-dir = / some / path / in / my / home



1

解決策は、パラメーターとパラメーター--を分離して追加することです。configuregem

の代わりに

sudo gem install sqlite3-ruby --without-sqlite3-include=/usr/include

これをすべて1行で試して、--最後のgemパラメーターの後とconfigureパラメーターの前を必ず含めてください。

sudo gem install sqlite3 --
--with-sqlite3-lib=/somewhere/local/lib
--with-sqlite3-include=/somewhere/local/include

これにより、このエラーを回避できます。

ERROR:  While executing gem ... (OptionParser::InvalidOption)
    invalid option: --without-sqlite3-include=/usr/include

これはまさに私が必要としたものでした-この提出者のおかげで!
David Loy

0

ない--without-sqlite3-include=/usr/includeですが--with-sqlite3-include=/usr/include


sqlite3.hが本当に見つからず、/ usr / includeにない場合は、次のコマンドでインストールできます。sudo apt-get install libsqlite3-dev
Kurt

私はすでにこれをしました。それは助けにはなりません。sqlite3とlibsqlite3-devがインストールされています。
ドミトリー

0

これは、私が数週間前に経験したまったく同じ問題です。SQLiteのダウンロードページから最新のヘッダー/ライブラリをダウンロードする必要があることがわかりました。試してみて、これが役に立てば幸いです!


0

私にとって問題は、ruby1.8-devにあるmkmfを取得することで解決しました。

sudo apt-get install ruby1.8-dev

そのため精神的に感謝します。


0

Danya VershininEnotionZに同意しますます。

apt-getを使用できない場合:

  1. 独自の「プレフィックス」パスを指定して、ソースからsqlite3をコンパイルしてインストールします。詳細については、READMEを参照してください。
  2. 次に、このパスをsqlite3-rubyインストーラーに渡しました(「-」を忘れないでください)。

0

RVMのバージョンが壊れています。Ubuntuは多くのエラーを生成するRVMに対して何かを行いますが、現時点で修正する唯一の安全な方法は、sudo apt-get --purge remove ruby​​-rvm sudo rm -rf / usr / share / ruby​​…、それが役に立たない場合です。次に、コンピュータを再起動します。RVMをインストールします:\ curl -L https://get.rvm.io | bash -s stable --ruby --autolibs = enable --auto-dotfiles何らかの手掛かりが必要な場合は、Ubuntu 12.04へのRubyのインストールを参照してください。


0

すべてを忘れてこれを行い、

走る

yum install ruby-devel sqlite sqlite-devel ruby-rdoc
yum install make gcc
gem install sqlite3-ruby
bundle install

それはrhelの場合、ubuntuの場合も同じように実行します。


0

ruby2.5-devとをインストールしlibsqlite3-devた後でも、上記の解決策はどれもうまくいきませんでした。次に、のPostgreSql代わりに使用してみましたsqlite。それはうまくいきました。PostgreSqlsqliteの代わりに使用するには、railsプロジェクトの作成時にこのコマンドを使用します。

rails [_VERSION_] new project_name -d postgresql

使用したい場合はMySql、のmysql代わりに使用してくださいpostgresql

rails [_VERSION_] new project_name -d mysql

さもなければあなたはなしで試すことができますsqlite

bundle install --without sqlite

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.