次の警告を解決するにはどうすればよいですか? Rubyバージョンを2.3.1に、Railsバージョンを4.2.6に更新しました。アプリをherokuにプッシュすると、この警告が表示されます。
remote: Cleaning up the bundler cache.
remote: Warning: the running version of Bundler is older than the version that created the lockfile. We suggest you upgrade to the latest version of Bundler by running `gem install bundler`.
remote: Removing mime-types-data (3.2016.0221)
Gemfile.lockを削除してbundle installを実行し、さらにbundlerを更新しようとしましたが、警告は消えません。
suramai@Rails-tutorial:~/workspace/converse (master) $ gem install bundler
Successfully installed bundler-1.12.4
1 gem installed
suramai@Rails-tutorial:~/workspace/converse (master) $
そのため、herokuにインストールされているバンドラーのバージョンが、開発マシンでGemfile.lock
を作成するために使用したバージョンよりも古いという不満があります。
おそらく、警告を無視してください。ほとんどの場合、Gemfile.lock
の作成に使用したよりも少し古いバージョンのbundlerでインストールするだけで十分です。
bundlerは最近、Gemfile.lock
で使用されるbundlerのバージョンの記録を追加し、その後、次の警告を追加しました。これは、場合によっては、Gemfile.lock
を作成するために新しいバージョンのbundlerバージョンが正しく動作しない可能性があります。そのため、問題になる場合があります。通常はそうではありませんが。
別のバージョンのbundlerでherokuをインストールできるようには見えません 。
警告を消したい場合は、代わりに、herokuが使用するのと同じバージョンのバンドラーをローカルで使用することを選択できます。 bundler herokuのどのバージョンが使用されているかを正確に把握するのは少し難しいです-その警告行が実際に2つの異なるバンドラーのバージョンが関係していることを教えてくれるといいでしょう!しかし、そうではありません。
このherokuサポートドキュメント は、herokuがバンドラー1.11.2
を使用していることを示唆しています。 (現在、将来的に変更される可能性があります!)。ログから、1.12.4
を使用していることがわかります。警告を回避するために、代わりに1.11.2
を使用する場合は、システムにインストールされているbundlerのすべてのバージョンを削除します。
gem uninstall bundler
次に、1.11.2
を具体的にインストールします。
gem install bundler -v 1.11.2
一般に、bundle
コマンドを使用すると、システムにインストールされている最新バージョンが使用されるため、常に1.11.2
を使用していることを確認し、システムにインストールされている最新バージョンであることを確認し、インストールしないでください後で。
次に、警告が表示されないように、Gemfile.lock
にバンドルされていると言うように1.11.2
を再生成する必要があります。これは一種の苦痛であり、最も簡単なことはGemfile.lock
を手作業で編集し、それ以降はバンドラー1.11.2
のみを使用することです。
システムに新しいバージョンのバンドラーをインストールする場合でも、バンドラー1.11.2
を使用するには、bundle install
またはbundle update
を実行するたびに(とにかくherokuにデプロイされるアプリの場合)、次のように実行できます。
bundle _1.11.2_ install
など。rubygemsにバンドラーバージョン1.11.2
でbundle installコマンドを実行するように指示すると、そのバージョンはGemfile.lock
に記録され、警告は表示されません。
これは少し面倒です。多くの開発者はおそらく警告を無視します。通常は問題ないはずです。