web-dev-qa-db-ja.com

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

Sqlite3-Rubyのインストール中に次のエラーが発生します。

ネイティブ拡張の構築。これにはしばらく時間がかかる可能性があります... 
エラー:sqlite3-Rubyのインストールエラー:
エラー:gemネイティブ拡張のビルドに失敗しました。 Ruby1.8 extconf.rb 
 sqlite3.hのチェック... no 
 sqlite3.hがありません。 'port install sqlite3 + universal'または 'yum install sqlite3-devel' 
 *** extconf.rb failed *** 
何らかの理由で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/Ruby1.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

255
Dmitry

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

apt-get install libsqlite3-dev
578
marshluca

そこに--が必要です。

Sudo gem install sqlite3-Ruby -- --with-sqlite3-include=/usr/include

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

14
Kurt

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

Sudo apt-get install build-essential

私の問題を解決しましたが、私が考えるほとんどの人々のために https://stackoverflow.com/a/3649005/417267 が解決策です。

8
Dmitry

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を使用していますが、機能しています。

6
anguu

これは私がやったことです:

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

from: http://cuasan.wordpress.com/2010/10/13/Rails-3-on-debian-with-sqlite-3/

6
MikeEL

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

Sudo apt-get install libsqlite3-dev

Marshlucaに感謝

6
Bernard Banta

他のソリューションのALLを試しましたが、何も助けませんでした。

Ruby自体のdevパッケージも必要であることが判明しました。私にとっては、助けた

Sudo apt-get install Ruby-full

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

Sudo apt-get install Ruby1.8-dev

大丈夫です。インストールした後(そしてsqliteおよびsqlite-devパッケージをインストールした後)

Sudo gem install sqlite3-Ruby

魅力のように機能します。

4
mhaligowski

HEROKU-git Push heroku master を実行できません

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

group :production do
  gem 'pg'
end
group :development, :test do
  gem 'sqlite3'
end
2
jstreebin

これと同じ問題があり、次が私のために働いた:

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
EnotionZ

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

の代わりに

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
1
stefanB

sqlite3-Ruby gemはubuntuでsqlite3.hを見つけることができません から:

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

Sudo apt-get install gcc libsqlite3-dev Ruby1.8-dev
Sudo gem install sqlite3

どうやら、実際の問題でgcc自体が欠落しているときに、欠落しているsqlite3.hを指す誤ったエラーが表示されるようです。

1

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

Sudo apt-get install Ruby1.8-dev

mentalized に感謝します。

0
ben author

Ruby2.5-devおよびlibsqlite3-devをインストールした後でも、上記のソリューションはどれもうまくいきませんでした。次に、PostgreSqlの代わりにsqliteを使用してみました。それはうまくいきました。 sqliteの代わりにPostgreSqlを使用するには、Railsプロジェクトを作成するときにこのコマンドを使用します。

Rails [_VERSION_] new project_name -d postgresql

MySqlを使用する場合は、mysqlの代わりにpostgresqlを使用します。

Rails [_VERSION_] new project_name -d mysql

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

bundle install --without sqlite
0

--without-sqlite3-include=/usr/includeではなく、--with-sqlite3-include=/usr/include

0
Daniel O'Hara

Danya VershininEnotionZ に同意します。

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

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

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

走る

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

Rhelの場合、ubuntuの場合も同じように実行します。

0
Aakash Parashar

RVMのバージョンが壊れています。 Ubuntuは多くのエラーを生成するRVMに対して何かを実行しますが、現時点で修正する唯一の安全な方法は次のとおりです。その後、コンピューターを再起動します。 RVMのインストール:\ curl -L https://get.rvm.io | bash -s stable --Ruby --autolibs = enable --auto-dotfiles手持ちが必要な場合は、Ubuntu 12.04でのRubyのインストールをご覧ください。

0
Jack Demin

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

0
theGrayFox