2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

railsプロジェクト作成時にsqlite3のインストールが原因でエラーとなってしまう

Last updated at Posted at 2019-04-13

エラー内容

以下のようにしてrailsプロジェクト作成時にエラーとなってしまう

$ rails new first_app
...
An error occurred while installing sqlite3, and Bundler cannot continue.

対応策

Gemgfileを開き、エラー文に記載されているバージョンを指定

source 'https://rubygems.org'
git_source(:github) { |repo| "https://github.com/#{repo}.git" }

ruby '2.6.2'

# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '~> 5.2.3'
# Use sqlite3 as the database for Active Record
gem 'sqlite3', '~> 1.3.10'

次に以下のようにBundlerをアップデート

bundle update

すると再度以下のようなエラーが

Using spring-watcher-listen 2.0.1
Fetching sqlite3 1.3.13
Installing sqlite3 1.3.13 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

...
sqlite3.h is missing. Try 'brew install sqlite3',
'yum install sqlite-devel' or 'apt-get install libsqlite3-dev'

sqlite-develをインストール

sudo yum install sqlite-devel

すると以下のようなエラー
※この辺記憶が曖昧なので順番が前後している可能性があります

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.

エラー文に従いインストール

gem install sqlite3 -v '1.3.13' --source 'https://rubygems.org/'

するとまた以下のようなエラー

sqlite3.h is missing. Try 'brew install sqlite3',
'yum install sqlite-devel' or 'apt-get install libsqlite3-dev'

先程sql-liteはインストールしたが、libsqlite3-devをインストールしていなかったのでインストール

sudo apt-get install libsqlite3-dev

再度

gem install sqlite3 -v '1.3.13' --source 'https://rubygems.org/'

sqliteがインストールできた

Successfully installed sqlite3-1.3.13
Parsing documentation for sqlite3-1.3.13
Installing ri documentation for sqlite3-1.3.13
Done installing documentation for sqlite3 after 1 seconds
1 gem installed

改めてbundlerをupdate

bundle update

できたー

Using sqlite3 1.3.13
Fetching turbolinks-source 5.2.0
Installing turbolinks-source 5.2.0
Fetching turbolinks 5.2.0
Installing turbolinks 5.2.0
Fetching uglifier 4.1.20
Installing uglifier 4.1.20
Fetching web-console 3.7.0
Installing web-console 3.7.0
Bundle updated!

最後にDBを作成

rails db:create

追記

後日railsにてModel作成後、以下のコマンドでスキーマを確認しようとするとエラーとなってしまった

rails dbconsole

...
Couldn't find database client: sqlite3. Check your $PATH and try again.

上記手順にある「gem install sqlite3...」はあくまでrailsのsqlite3に関するパッケージをインストールしたにすぎず、
肝心のsqlite本体がインストールされていない?

以下でインストールし対応

sudo apt-get install -y sqlite3

以上

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?