12

開発データベースからHerokuにデータをプッシュする際に問題が発生していました。開発データベースとしてPostgreSQLに切り替えることにし、database.ymlを更新し、gemfilesからsqlitegemを削除しました。

アプリは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: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

バンドルインストールとバンドルアップデートも実行しました。

ヨハン

4

5 に答える 5

10

私は同じ問題を抱えていて、タップをgemfileの開発グループに移動することで解決しました。タップにはsqliteが必要であり、これが問題の原因でした。

group :development do
  gem 'taps', :require => false # has an sqlite dependency, which heroku hates
end
于 2012-03-04T19:40:08.807 に答える
8

解決策は、gemだけでなくgemtapsもグループに追加することです。すでに開発で使用している場合は、 gemを追加するだけで十分です。しかし、私は自分の開発に使用しているので、その問題を解決するために両方を追加する必要がありました。sqlite3:developmentsqlite3tapsmysql

group :development do
  gem 'taps'
  gem 'sqlite3'
end
于 2012-09-25T10:38:07.513 に答える
4
gem install sqlite3

私のためにそれを解決しました。

于 2013-06-24T23:05:21.880 に答える
0

私のdebianwheezyには、次のものをインストールする必要がありました。

aptitude install libsqlite3-dev
于 2012-10-17T15:09:08.233 に答える
0
gem install sqlite3 

は、あなたが必要とすることすべてです。エラーはHerokuからではなく、ローカルで発生しています

于 2013-07-06T18:39:37.357 に答える