アプリをherokuにプッシュしようとしていますが、このメッセージが表示されます。
Gem::LoadError: Specified 'sqlite3' for database adaptor, but the gem is not loaded.
でもやらなかった。私のdatabase.ymlファイルのどこにもsqlite3がありません
development:
adapter: postgresql
encoding: unicode
database: blog_development
pool: 5
timeout: 5000
Host: localhost
test:
adapter: postgresql
database: blog_test
pool: 5
timeout: 5000
production:
adapter: postgresql
database: blog_production
pool: 5
timeout: 5000
私のアダプター名はpsotgresqlです。私も自分でファイルを開いた
cat database.yml
ファイルを検索しましたが、postgresqlが見つかりませんでした。これが私のgemfileです
Ruby '2.1.0'
gem 'Rails', '4.1.1'
group :development, :test do
gem 'pg', '0.17.1'
gem 'rspec-Rails', '3.0.1'
end
group :production do
gem 'pg', '0.17.1'
gem 'Rails_12factor'
end
group :test do
gem 'Selenium-webdriver', '2.35.1'
gem 'capybara', '2.1.0'
end
gem 'sass-Rails', '~> 4.0.2'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-Rails', '~> 4.0.0'
gem 'sprockets-Rails', '~> 2.1.3'
gem 'bootstrap-sass', '3.1.1.1'
gem 'jquery-Rails'
gem 'turbolinks'
gem 'jbuilder', '~> 2.1.1'
group :doc do
gem 'sdoc', require: false
end
gem 'bcrypt', '~> 3.1.7'
ここに本番環境にpgがあります。 bundle install、bundle update、git add、git commit、およびgit Push heroku masterを何度も実行しましたが、それでもこのメッセージが表示されます。
分かりません。データベースアダプターにsqlite3を指定していません。
言葉に困る。
私のsqlite3バージョンを1.3.13と指定する必要がありました。
gem 'sqlite3', '~> 1.3.13'
次に、bundle update
を実行します。
次のいずれかがあるようです:
bundle update
ファイルを更新するためにbundle install
またはGemfile.lock
を実行するのを忘れた、または
herokuにプッシュする前に、Gemfile
およびGemfile.lock
の変更をgit commit
を使用してGitにコミットするのを忘れていました。
問題が2の場合nd 場合、この質問は重複しています、どこかで正規の質問を見つけなければなりません...
私はこの問題を抱えていました。
「--without production」パラメータをbundle install
。元に戻すと問題が解決しました。
Rails 5.0チュートリアルをcloud9で開始するときに同じ問題があったIDE(Amazon)。クラウドエディター内で{Rails new}を実行してインストールされたデフォルトのsqlite3バージョンは3.7でした.17 2013-05-20
これは私の問題を解決しました:gem 'sqlite3', '~> 1.4.0'}
この後、「Railsページにアクセスしています)」を起動することに成功しました
テスト環境では、特定のDB gemはありません。 「pg」宝石を本番環境と開発環境から一般的な環境に移行します。