はじめに
Ruby on Railsチュートリアルを学習していた際、Herokuにデプロイする時にエラーに苦戦し、情報共有できればと思い記事にしました。自身のスキル
プログラミングの学習をし始めて2ヶ月になります。 現在Ruby on Railsチュートリアルを中心に学習しています。もし違っているところなどございましたら、ご指摘いただければうれしいです。自身の開発環境
・Ruby 3.0.3 ・Rails 6.1.4.4 ・エディタ Atom ・m1 macHerokuへデプロイを行う流れ
②ステージングエリアへ
$ git add -A
③コミットする
$ git add commit -m"コミットメッセージ"
④Herokuにloginする
$ heroku login
⑤Herokuに新しいアプリケーションを作成する
$ heroku create
$ heroku create アプリ名 ※アプリ名を指定したい時
⑥Herokuへデプロイする
$ git push heroku main
エラーが...
Enumerating objects: 106, done.
Counting objects: 100% (106/106), done.
Delta compression using up to 8 threads
Compressing objects: 100% (87/87), done.
Writing objects: 100% (106/106), 142.35 KiB | 7.12 MiB/s, done.
Total 106 (delta 3), reused 0 (delta 0), pack-reused 0
remote: Compressing source files... done.
remote: Building source:
remote:
remote: -----> Building on the Heroku-20 stack
remote: -----> Determining which buildpack to use for this app
remote: ! Warning: Multiple default buildpacks reported the ability to handle this app. The first buildpack in the list below will be used.
remote: Detected buildpacks: Ruby,Node.js
remote: See https://devcenter.heroku.com/articles/buildpacks#buildpack-detect-order
remote: -----> Ruby app detected
remote: -----> Installing bundler 2.2.21
remote: -----> Removing BUNDLED WITH version in the Gemfile.lock
remote: -----> Compiling Ruby/Rails
remote: -----> Using Ruby version: ruby-3.0.3
remote: -----> Installing dependencies using bundler 2.2.21
remote: Running: BUNDLE_WITHOUT='development:test' BUNDLE_PATH=vendor/bundle BUNDLE_BIN=vendor/bundle/bin BUNDLE_DEPLOYMENT=1 bundle install -j4
remote: Your bundle only supports platforms ["arm64-darwin-21"] but your local platform
remote: is x86_64-linux. Add the current platform to the lockfile with `bundle lock
remote: --add-platform x86_64-linux` and try again.
remote: Bundler Output: Your bundle only supports platforms ["arm64-darwin-21"] but your local platform
remote: is x86_64-linux. Add the current platform to the lockfile with `bundle lock
remote: --add-platform x86_64-linux` and try again.
remote:
remote: !
remote: ! Failed to install gems via Bundler.
remote: !
remote: ! Push rejected, failed to compile Ruby app.
remote:
remote: ! Push failed
remote: Verifying deploy...
remote:
remote: ! Push rejected to アプリ名.
remote:
To https://git.heroku.com/tw1226hello.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'https://git.heroku.com/アプリ名'
⑦エラーないに書いてあるbundle lock --add-platform x86_64-linuxを実行
その後、デプロイ
$ bundle lock --add-platform x86_64-linux
$ git add -A
$ git commit -m "Gemfile.lock fix"
$ git push heroku main
無事にデプロイできました。