Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Ruby on Rails - "Add 'gem sqlite3'' to your Gemfile"

I was following the Rails tutorial, but I got stuck when it said to type rails server in the blog directory. It states

Specified 'sqlite3' for database adapter, but the gem is not loaded. Add gem 'sqlite3' to your Gemfile.

I quit the server, installed sqlite3, reinstated the server, only to get this message again. sqlite3 doesn't show up when I do gem list, but I do see the folder in my Root Ruby directory.

How can I fix this error?

I'm using Ruby 2.0, Rails 4.0, sqlite3 1.3.7.

like image 823
hewhocomes Avatar asked Jun 27 '13 18:06

hewhocomes


4 Answers

In my case, this error "Specified 'sqlite3' for database adapter, but the gem is not loaded. Add gem 'sqlite3' to your Gemfile." message showed up, when I ran rails server right after I generated a fresh rails app. It was with Rails version 4.1.16 (Ruby version 2.3.1)

gem 'sqlite3', '~> 1.3.0'

This line in Gemfile removed the error message. I think new sqlite gem (version 1.4) has a conflict with old rails (version 4.1) but I didn't see any related issue on their Github repository. I'm adding this answer here because it might help anybody experiencing the same situation I'm in.

like image 131
kangkyu Avatar answered Oct 16 '22 08:10

kangkyu


I had this error appear with the same version of Ruby / Rails / SQLite that you specified in your question even after confirming that my gemfile has gem 'sqlite3'. I don't know what OS you have (which is why you were down-voted probably) but I am using Windows 7 x64.

In order to get the gem to be installed in my Rails application, I needed to edit the Gemfile.lock file to replace sqlite3 (1.3.7-x86-mingw32) with sqlite3 (1.3.7)

Then, after running bundle install I finally see in the output

Using sqlite3 (1.3.7)

Upon running rails server, I (finally) see the "Welcome aboard" page.

like image 20
Paul Avatar answered Oct 16 '22 06:10

Paul


I'd the same problem on a x64 win 7.

Solution (for me):

1) Install sqlite3

gem install sqlite3

2) Check the installed version

gem list sqlite3

It gives me: sqlite3 (1.3.8 x64-mingw32)

3) Modify the Gemfile.lock

I change "sqlite3 (1.3.8-x86-mingw32)" by "sqlite3 (1.3.8-x64-mingw32)

It works :) Note that you to need add a "-" between the version number and the x64 in the Gemfile.lock

Xmass

like image 17
Xmass Avatar answered Oct 16 '22 07:10

Xmass


Another potential solution found on this post

I already had sqlite installed, but apparently since Feb 4, 2019 there's an issue with the sqlite3 v1.4.0 gem.

In the meantime, you can fall back to v1.3.6 by adding that version to the “sqlite3” line in your Gemfile, like so:

gem 'sqlite3', '~> 1.3.6'

Hope this saves someone the time!

like image 12
gwalshington Avatar answered Oct 16 '22 07:10

gwalshington