262

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

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

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

提供される構成オプション:
    --with-opt-dir
    --without-opt-dir
    --with-opt-include
    --without-opt-include = $ {opt-dir} / include
    --with-opt-lib
    --without-opt-lib = $ {opt-dir} / lib
    --with-make-prog
    --without-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

4

19 に答える 19

596

コンパイルするgemのネイティブ拡張機能にはSQLite3開発ヘッダーが必要です。次のコマンドを実行してインストールできます(場合によってはsudo):

apt-get install libsqlite3-dev
于 2010-09-06T04:29:47.703 に答える
16

そこに必要なだけです--

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

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

于 2010-08-11T13:17:13.197 に答える
10

私の場合、基本的なコンパイラはインストールされていないので、

sudo apt-get install build-essential

私の問題は解決しましたが、ほとんどの人にとって、 https://stackoverflow.com/a/3649005/417267が解決策だと思います。

于 2010-08-12T07:00:23.213 に答える
7

これは私がしたことです:

wget http://www.sqlite.org/sqlite-amalgamation-3.7.2.tar.gz
tar xzf sqlite-amalgamation-3.7.2.tar.gz
cd sqlite-3.7.2/

./configure
make
make install

gem install rails sqlite3-ruby

から:http ://cuasan.wordpress.com/2010/10/13/rails-3-on-debian-with-sqlite-3/

于 2011-05-31T19:00:59.397 に答える
6

これは単にそれを機能させるのに十分でした

sudo apt-get install libsqlite3-dev

marshlucaに感謝します

于 2012-01-06T22:29:50.647 に答える
6

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

sudo apt-get install libxslt-dev libxml2-dev

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

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

sudo apt-get install sqlite3 libsqlite3-dev

-次に、sqlitegemをインストールします

 [sudo] gem install sqlite3-ruby

-Ubuntuを使用するのにsudoは必要ありません。

幸運を!注:Ubuntu 10.10を使用していますが、機能しています。

于 2010-10-27T12:45:58.350 に答える
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

チャームのように機能します。

于 2010-12-13T20:43:19.243 に答える
2

sqlite3-ruby gemからubuntuでsqlite3.hが見つかりません

また、gcc自体もインストールする必要があるため、合計すると次のようになります。

sudo apt-get install gcc libsqlite3-dev ruby1.8-dev
sudo gem install sqlite3

どうやら、実際の問題にgcc自体がないのに、sqlite3.hがないことを示す間違ったエラーが発生するようです。

于 2011-03-21T13:31:45.713 に答える
2

これがHEROKUからのより良い答えです-gitpushherokumasterを実行できません

herokuではsqlite3を使用できないため、これをGemfileに追加します。

group :production do
  gem 'pg'
end
group :development, :test do
  gem 'sqlite3'
end
于 2013-03-22T03:10:10.903 に答える
2

解決策は、パラメーターをパラメーターから--分離するために追加することです。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
于 2013-07-18T05:12:08.587 に答える
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

于 2010-12-31T07:41:56.330 に答える
1

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

rails [_VERSION_] new project_name -d postgresql

使用する場合は、の代わりにをMySql使用してください。mysqlpostgresql

rails [_VERSION_] new project_name -d mysql

それ以外の場合は、なしで試すことができますsqlite

bundle install --without sqlite
于 2018-06-01T19:46:40.117 に答える
0

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

于 2011-02-05T16:22:02.173 に答える
0

ではありません--without-sqlite3-include=/usr/includeが、--with-sqlite3-include=/usr/include

于 2010-08-11T13:14:09.170 に答える
0

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

sudo apt-get install ruby1.8-dev

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

于 2011-09-18T03:40:33.183 に答える
0

Danya VershininEnotionZに同意します。

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

  1. 独自の「プレフィックス」パスを指定して、ソースからsqlite3をコンパイルしてインストールします。詳細については、READMEを参照してください。
  2. 次に、このパスをsqlite3-rubyインストーラーに渡しました(「-」を忘れないでください)。
于 2013-06-13T10:02:01.590 に答える
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手持ちが必要な場合は、Ubuntu12.04へのRubyのインストールをご覧ください。

于 2014-09-17T11:34:31.153 に答える
0

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

走る

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

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

于 2016-11-10T07:32:13.770 に答える
0

sqlite3-ruby'1.2.2'にダウングレードしました

于 2019-12-08T23:48:13.230 に答える