LoginSignup
11
8

More than 3 years have passed since last update.

【Railsチュートリアル】Herokuにpushする時、Failed to install gems via Bundler.のエラーが表示される

Posted at

事象

RailsチュートリアルでHerokuへpushすると、Failed to install gems via Bundler.というエラーが表示され、push出来ない。

スクリーンショット 2019-09-14 15.26.19.png
スクリーンショット 2019-09-14 15.23.05.png

原因

pushする前にbundle installを実行していなかったため。

対応

bundle installを実行後、必要なGemがインストールされpush出来る。
スクリーンショット 2019-09-14 15.57.49.png

スクリーンショット 2019-09-14 15.59.54.png

なぜbundle installが必要か
bundle installはそのアプリに必要なGemをインストールするため。
bundle installは以下の役割をする。

  • Gemfileに書かれたGemをインストールする。
  • インストールしたGemに加え、依存関係にあるGemとGemごとのバージョンをGemfile.lockに記載する。

なぜGemfile.lockが必要なのか
複数人で開発する際に、インストールするGemとバージョンを揃えるため。

  • Gemfile...そのアプリに必要なGemが記載されたファイル
  • Gemfile.lock...Gemfileに記載されたGemに加え、依存関係にあるGemとバージョンが記載されたファイル

Gemは他のGemと結びついていることが多いため、依存関係にあるGemもインストールする必要がある。
bundle installを実行すると依存関係にあるGemを自動でインストールしてくれる。

インストールしたGemとそのバージョンをGemfile.lockに記載することで、他の開発者はbundle installするとGemfile.lockに記載された指定されたバージョンのGemをインストールできる。

参考記事

11
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
8