bundle install時に「An error occurred while installing sqlite3 (1.3.13), and Bundler cannot continue.」と言うエラーが出たときの対策法
railsアプリを作成するためにbundle install
をする際に
An error occurred while installing sqlite3 (1.3.13), and Bundler cannot continue.
Make sure that `gem install sqlite3 -v '1.3.13' --source 'https://rubygems.org/'` succeeds before bundling.
と言うエラーが出たので、その解決策をメモしておきます。
上記のエラーはどんな意味?
An error occurred while installing sqlite3 (1.3.13), and Bundler cannot continue.
Make sure that `gem install sqlite3 -v '1.3.13' --source 'https://rubygems.org/'` succeeds before bundling.
先ほどのエラーは「sqlite3 (version 1.3.13 )をインストールしている時にエラーが起こったよ。だからbundle installを続けられないよ。だから、再度bundle installをする前にgem install sqlite3 -v '1.3.13' --source 'https://rubygems.org/'
となっているか確かめて」と言う意味です。
このエラーよりも上の方に出ているエラー文を確認してみると、以下の様に表示されているはずです。
current directory: /usr/local/src/bundles/tutorial/ruby/2.4.0/gems/sqlite3-1.3.12/ext/sqlite3
/home/username/.rbenv/versions/2.4.2/bin/ruby -r ./siteconf20181211-17487-1eyzf34.rb extconf.rb
checking for sqlite3.h... no
sqlite3.h is missing. 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).
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers. Check the mkmf.log file for more details. You may
need configuration options.
特に大事なのが4行目以降で
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).
と書かれていることから、 CentOSの環境ではyum install sqlite-devel
のコマンドを行って、sqlite3の依存関係を解決するパッケージをインストールすればいけそうです。
( Ubuntu等の他のOSであれば、それぞれのコマンドを使ってsqlite3の依存関係を解決するパッケージをインストールしてください)
早速、以下のコマンドを実行。
sudo yum install sqlite-devel
その後にbundle install
を実行すると、今度は上手くいきました。