12

I was having problems pushing data from my development db to Heroku. I decided to switch to PostgreSQL as my development db and have updated database.yml and removed the sqlite gem from the gemfiles.

The app runs fine against PostgreSQL but when I try to run the command:

heroku db:push

I get an SQLite error which is puzzling because there is no reference to sqlite in my project:

 !    Taps Load Error: cannot load such file -- sqlite3
 !    You may need to install or update the taps gem to use db commands.
 !    On most systems this will be:
 !    
 !    sudo gem install taps

Here is my database.yml file:

development:
  adapter: postgresql
  encoding: unicode
  database: xxxx
  pool: 5
  timeout: 5000
  username: xxxx
  password: xxxx

test:
  adapter: postgresql
  encoding: unicode
  database: test
  pool: 5
  timeout: 5000
  username: xx
  password: xx

production:
  adapter: postgresql
  encoding: unicode
  database: test
  pool: 5
  timeout: 5000

I'm using RVM and I have created a new gemset without any luck.

I even tried this but got the same SQLite error:

heroku db:push postgres://xx:xx@localhost/xx

 !    Taps Load Error: cannot load such file -- sqlite3
 !    You may need to install or update the taps gem to use db commands.
 !    On most systems this will be:
 !    
 !    sudo gem install taps

I have also run bundle install and bundle update.

Johann

5 Answers 5

10

I was having the same problem and solved it by moving taps into a development group in my gemfile- taps requires sqlite, which is what was causing the problem.

group :development do
  gem 'taps', :require => false # has an sqlite dependency, which heroku hates
end
Sign up to request clarification or add additional context in comments.

5 Comments

tried that, but get the same error (I ran bundle install and update and commited to heroku before pushing db ... get an sqlite error).
Solved it - tekniklr answer put me on the correct track. The problem was that taps is using sqlite and that wasn't installed on the client machine (I think I manually removed it manually before). After I installed sqlite it worked fine.
I had the same problem. I thought it was a homebrew problem as I installed heroku manually in conjunction to using homebrew at some point to test something. 'gem install sqlite3' solved the problem.
taps doesn't have sqlite3 runtime dependency
It might not anymore, but 7 months ago it did :)
8

The solution is to add not only taps gem but also sqlite3 gem into the :development group. If you are using in your development sqlite3 already, then just adding taps gem will be enough. But I am using mysql on my development so to solve that problem I had to add both.

group :development do
  gem 'taps'
  gem 'sqlite3'
end

Comments

4
gem install sqlite3

solved it for me.

Comments

0

On my debian wheezy I needed to install:

aptitude install libsqlite3-dev

Comments

0
gem install sqlite3 

Is all you need. The error is coming locally, not from Heroku

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.