Help us understand the problem. What is going on with this article?

bundlerで sqlite3がinstallできない

はじめに

sinatraでactiverecordを使ってなんやかんやのアプリケーションを作ろうとしているが、Bundlerでsqlite3をインストールしようとすると下記のエラーが出て処理が終わる。

An error occurred while installing sqlite3 (1.4.1), and Bundler
cannot continue.
Make sure that `gem install sqlite3 -v '1.4.1' --source
'https://rubygems.org/'` succeeds before bundling.

試したこと

調べてみるとbundle install時にsqlite周りが原因でエラーが出る人が中々に多かった。

ヴァージョン指定してみた

始めはエラーコードをろくに読んでなかった(読め)ので、ヴァージョン指定とかの話かと思って試してみたが、ダメだった。
具体的にはこの記事とかを参考に、gemfileを以下のように書き換えてみた。

gem 'sqlite3'  
⇒ gem 'sqlite3', '~> 1.3.6'

結局うまくいかないので次の手を試すことに。

yumコマンドでsqlite3の依存パッケージをインストールする

ずっとここで止まっててようやくエラーコードを読んでないことを思い出したのでログを少しさかのぼってみた。

 Try 'brew install sqlite3',
'yum install sqlite-devel' or 'apt-get install libsqlite3-dev'
and check your shared library search path (the
location where your sqlite3 shared library is located).

あった。

とりあえず yum install sqlite-devel を実行するが、yumコマンドがインストールされていない。

sudo apt install yum

yumインストール後に再度

sudo yum install sqlite-devel

を実行するが、segmentaition違反だとかで断念。
これについては解決方法ほんとにわからなかったので助けてほしい。
分からんこと調べてるときに分からんこと出てくると訳の分からないことになって訳が分からない...

ついに解決

で、疲れたのでコーヒーブレイクしていたが、そういえばもう一つ選択肢なかった?ってことで

sudo apt install libsqlite3-dev

してみたところ、なんだかいい感じ。

改めて

bundle install --path vendor/bundle





できた。

おわりに

なんだか凄い遠回りをして時間を無駄にした気がするが、エラーコードはちゃんと読めってことですね。
これでようやく先へ進める。

spaaaaaaa
いつでも、どこでも、誰とでも働けるし働かない。そんな自由人をめざして。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした