Herokuへpushしたら"Detected sqlite3 gem which is not supported on Heroku"になったので、Gemfile直したけど、反映されないやつ
タイトルの通りです。
エラー文で検索するとGemfile直してbundle install
とgit push heroku
し直せば
いけるよって書いてあるの多いんですが、初学者さんはgit commit忘れてハマることが
ありそうなので書いておきます。(はい、地味に私がハマりました)
では最初から。
1. エラー内容
railsアプリなどをHerokuへpushしたときに下記のようなエラーがでることがあります。
# 省略
remote: !
remote: ! Failed to install gems via Bundler.
remote: ! Detected sqlite3 gem which is not supported on Heroku:
remote: ! https://devcenter.heroku.com/articles/sqlite3
remote: !
# 省略
Gemfileにsqlite3のgemを適用する環境を絞らずに記載していると出ます。
HerokuはSQLite3をサポートしていないので、代わりにサポートしているPostgresqlを
Gemfileに追加してあげる必要があります。
2. Gemfileの修正
変更前Gemfile
gem 'sqlite3'
変更後Gemfile
# gemのバージョンは適宜変えてください
# 開発・テスト環境ではSQLite3を使う
group :development, :test do
gem 'sqlite3'
end
# 本番環境ではPostgresqlを使う
group :production do
gem 'pg', '0.20.0'
end
3. bundle install
gem 'sqlite3'
# gemのバージョンは適宜変えてください
# 開発・テスト環境ではSQLite3を使う
group :development, :test do
gem 'sqlite3'
end
# 本番環境ではPostgresqlを使う
group :production do
gem 'pg', '0.20.0'
end
Herokuにpushするときには、Gemfile.lockの中身を参照されるので、bundle installし直して
Gemfile.lockを最新化します。
$ bundle install
4. git commit
git使い始めだと忘れがち。Herokuへアプリをアップロードするときは、gitで管理しているファイルを
アップロードします。Gemfile.lockもその管理対象なので、コミットしてあげないとHerokuに適用されません。
$ git add -A
$ git commit -m "[Update] Gemfile修正"
5. Herokuへpush
$ git push heroku master
$ git push heroku master
以上です。
Author And Source
この問題について(Herokuへpushしたら"Detected sqlite3 gem which is not supported on Heroku"になったので、Gemfile直したけど、反映されないやつ), 我々は、より多くの情報をここで見つけました https://qiita.com/johnslith/items/bddc9032e03a411d0944著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .