Получите ошибку SQLite с помощью heroku db: нажмите, когда я использую PostgreSQL в качестве разработки db
У меня возникли проблемы с отправкой данных из моего проекта разработки в Heroku. Я решил переключиться на PostgreSQL в качестве моего db разработки и обновил базу данных .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, и я создал новый gemset без везения.
Я даже пробовал это, но получил ту же ошибку SQLite:
heroku db:push postgres://xx:[email protected]/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
Я также запускаю пакетное обновление и пакетное обновление.
Иоганна
Ответы
Ответ 1
У меня была одна и та же проблема, и я решил ее переместить в группу разработки в моих gemfile-taps, для чего требуется sqlite, что и вызывало проблему.
group :development do
gem 'taps', :require => false # has an sqlite dependency, which heroku hates
end
Ответ 2
Решение состоит в том, чтобы добавить не только taps
gem, но также sqlite3
gem в группу :development
. Если вы уже используете в своем развитии sqlite3
, то просто добавить taps
gem будет достаточно. Но я использую mysql
для моего развития, поэтому для решения этой проблемы мне пришлось добавить оба.
group :development do
gem 'taps'
gem 'sqlite3'
end
Ответ 3
gem install sqlite3
решил это для меня.
Ответ 4
На моем debian wheezy мне нужно было установить:
aptitude install libsqlite3-dev
Ответ 5
gem install sqlite3
Все, что вам нужно. Ошибка идет локально, а не от Heroku