Failed to install gems via Bundler. が出た時の対処法 HEROKU

herokuへプッシュしたいが下記のようなエラーが出た。
こんなエラー文
 ```Failed to install gems via Bundler.```


```
$ git push heroku main
Enumerating objects: 113, done.
Counting objects: 100% (113/113), done.
Delta compression using up to 8 threads
Compressing objects: 100% (95/95), done.
Writing objects: 100% (113/113), 66.73 KiB | 4.17 MiB/s, done.
Total 113 (delta 8), 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.16
remote: -----> Removing BUNDLED WITH version in the Gemfile.lock
remote: -----> Compiling Ruby/Rails
remote: -----> Using Ruby version: ruby-2.6.6
remote: -----> Installing dependencies using bundler 2.2.16
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 ["x86_64-darwin-20"] 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 ["x86_64-darwin-20"] 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:  !
remote:  ! ## Warning - The same version of this code has already been built: cd642c3cdcf87def5c29b29dff759c88f1c0130b
remote:  !
remote:  ! We have detected that you have triggered a build from source code with version cd642c3cdcf87def5c29b29dff759c88f1c0130b
remote:  ! at least twice. One common cause of this behavior is attempting to deploy code from a different branch.
remote:  !
remote:  ! If you are developing on a branch and deploying via git you must run:
remote:  !
remote:  !     git push heroku <branchname>:main
remote:  !
remote:  ! This article goes into details on the behavior:
remote:  !   https://devcenter.heroku.com/articles/duplicate-build-version
remote: 
remote: Verifying deploy...
remote: 
remote: !       Push rejected to mysterious-plateau-98113.
remote: 
To https://git.heroku.com/mysterious-plateau-98113.git
 ! [remote rejected] main -> main (pre-receive hook declined)
error: failed to push some refs to 'https://git.heroku.com/mysterious-plateau-98113.git'
```

原因は、herokuのbundlerとローカルでのbundlerのバージョンに相違があることらしい。

## 解決方法

```
$ bundle lock --add-platform x86_64-linux
# このコマンドはよく見るとエラー文のところに書いてあるからこのコマンドを実行する。

$ git add .
# Gemfile.lockの変更をステージングへ

$ git commit -m "Gemfile.lock fix"
# コミットする 

$ git push heroku main
# herokuへプッシュする
```

これで解決できる。