前提・実現したいこと
HerokuへGit経由でデプロイしたのち、
開発を進めたいのですが、ローカルサーバーが利用できません。
本番環境へデプロイするとローカルは使えなくなりますか?
発生している問題・エラーメッセージ
rails sを実行すると出るエラー
Error loading the 'postgresql' Active Record adapter. Missing a gem it depends on? pg is not part of the bundle. Add it to your Gemfile. (LoadError)
試したこと
- Gemgileに「gem 'pg'」の記載があり、デプロイ前にmigrateしました。
- ファイルのキャッシュを消す方法を試しました。
「git rm -r --cached .」
- Gemfileは以下の通りです
ruby
1source 'https://rubygems.org' 2git_source(:github) { |repo| "https://github.com/#{repo}.git" } 3 4ruby '2.6.5' 5 6# Bundle edge Rails instead: gem 'rails', github: 'rails/rails' 7gem 'rails', '~> 6.0.0' 8# Use Puma as the app server 9gem 'puma', '~> 4.1' 10# Use SCSS for stylesheets 11gem 'sass-rails', '>= 6' 12# Transpile app-like JavaScript. Read more: https://github.com/rails/webpacker 13gem 'webpacker', '~> 4.0' 14# Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks 15gem 'turbolinks', '~> 5' 16# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder 17gem 'jbuilder', '~> 2.7' 18# Use Redis adapter to run Action Cable in production 19# gem 'redis', '~> 4.0' 20# Use Active Model has_secure_password 21# gem 'bcrypt', '~> 3.1.7' 22 23# Use Active Storage variant 24# gem 'image_processing', '~> 1.2' 25 26# Reduces boot times through caching; required in config/boot.rb 27gem 'bootsnap', '>= 1.4.2', require: false 28 29group :development, :test do 30 # Call 'byebug' anywhere in the code to stop execution and get a debugger console 31 gem 'byebug', platforms: [:mri, :mingw, :x64_mingw] 32 gem 'sqlite3' 33end 34 35group :development do 36 # Access an interactive console on exception pages or by calling 'console' anywhere in the code. 37 gem 'web-console', '>= 3.3.0' 38 gem 'listen', '~> 3.2' 39 # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring 40 gem 'spring' 41 gem 'spring-watcher-listen', '~> 2.0.0' 42end 43 44group :test do 45 # Adds support for Capybara system testing and selenium driver 46 gem 'capybara', '>= 2.15' 47 gem 'selenium-webdriver' 48 # Easy installation and use of web drivers to run system tests with browsers 49 gem 'webdrivers' 50end 51 52# Windows does not include zoneinfo files, so bundle the tzinfo-data gem 53gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby] 54gem 'pry-rails' 55gem 'haml-rails', '>=1.0', '<=2.0.1' 56gem 'font-awesome-sass' 57gem 'carrierwave' 58gem 'mini_magick' 59gem 'ancestry' 60gem 'jquery-rails' 61gem 'devise' 62 63group :production do 64 gem 'pg' 65end
ローカルで開発していたときは、gem 'sqlite 3'を利用していて、Herokuにデプロイするためにgem 'pg'に切り替えてエラーが出たということで良いでしょうか?
ご回答ありがとうございます。
ご指摘いただいてGemfile確認したところ、development test doにsquite 3
デプロイのためにproduction doにpgを記述してあります。
今回のエラーと関連があるかは分かりかねます。
$bundle install --without production
ではいかがでしょうか?
もしうまく行かない場合、Gemfileを質問文に追記いただけますか?
試してみましたが、全く同じエラーが出ました。
Gemfile追記しましたので、
ご確認よろしくお願いいたします。
> 開発を進めたいのですが、ローカルサーバーが利用できません。
念の為ですが、このエラーはローカルで出ているという認識で良いのでしょうか?
デプロイ後、localhostを開いてrails sを実行しましたがエラーが出ます。
ちなみにherokuへpushしても変更内容が本番環境に反映されないので、
このエラーに原因があるのでは、と思っています。
回答2件
あなたの回答
tips
プレビュー