はじめに
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
・
・
・
・
・
できた。
おわりに
なんだか凄い遠回りをして時間を無駄にした気がするが、エラーコードはちゃんと読めってことですね。
これでようやく先へ進める。