Получить ошибку SQLite, используя heroku db: push, когда я использую PostgreSQL в качестве базы данных разработки - PullRequest
12 голосов
/ 04 марта 2012

У меня были проблемы с передачей данных из моей базы разработки в Heroku.Я решил переключиться на PostgreSQL в качестве своей базы данных разработки и обновил database.yml и удалил гем sqlite из gemfiles.

Приложение отлично работает с PostgreSQL, но когда я пытаюсь запустить команду:

heroku db:push

Я получаю загадочную ошибку SQLite, потому что в моем проекте нет ссылки на sqlite:

 !    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

Вот мой файл database.yml:

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

Я использую RVM и создал новый набор гемов без какой-либо удачи.

Я даже пробовал это, но получил ту же ошибку SQLite:

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

Я также запустил установку пакета и сборкуобновление.

Иоганн

Ответы [ 5 ]

10 голосов
/ 04 марта 2012

У меня возникла та же проблема, и я решил ее, переместив метки в группу разработчиков в моем gemfile-тапах, требуя sqlite, что и стало причиной проблемы.

group :development do
  gem 'taps', :require => false # has an sqlite dependency, which heroku hates
end
8 голосов
/ 25 сентября 2012

Решение состоит в том, чтобы добавить в группу :development не только taps драгоценный камень, но и sqlite3 драгоценный камень.Если вы уже используете в своей разработке sqlite3, то достаточно просто добавить taps gem.Но я использую mysql в своей разработке, поэтому для решения этой проблемы мне пришлось добавить оба.

group :development do
  gem 'taps'
  gem 'sqlite3'
end
4 голосов
/ 25 июня 2013
gem install sqlite3

решил это за меня.

0 голосов
/ 06 июля 2013
gem install sqlite3 

Это все, что вам нужно. Ошибка приходит локально, а не из Heroku

0 голосов
/ 17 октября 2012

На моем Debian Wheezy мне нужно было установить:

aptitude install libsqlite3-dev
...