Railsで「Could not find ~ in any of the sources」とエラーがでた場合の対処

  • 2016年5月18日
Railsで「Could not find ~ in any of the sources」とエラーがでた場合の対処

Railsで「bundle exec rake test」コマンドを使用したときに以下のエラーがでて解決できたのでメモをとります。エラーの内容は「i18n-0.7.0」がないので、インストールしてくださいというものです。

概要

Railsで「bundle exec rake test」コマンドを使用したときに以下のエラーがでて解決できたのでメモをとります。
エラーの内容は「i18n-0.7.0」がないので、インストールしてくださいというものです。
しかし、「bundle install」では解決できませんでした。ためしに「bundle update i18n」を実行し更新を促してみましたがインストールされており、よくわかりません。

Could not find i18n-0.7.0 in any of the sources

解決した方法

原因は簡単でキャッシュが悪さをしていました。なのでキャッシュを削除することで正常に機能しました。

bundle pack
bundle install --path vendor/cache

rbenvを使用している人へ

rbenvを使用している人はまずいま使用しているrubyのバージョンに「bundler」をインストールできているかを確認しましょう。

rakeのバージョンを確認する

下記の2つのコマンドでバージョンを確認し、後者でエラーが出る場合は、現在のrubyのバージョンにbundlerそのものが入っていない場合があります。インストールしましょう。

user:riot_api_test_app le0x$ rake --version
rake, version 10.4.2
user:riot_api_test_app le0x$ bundle exec rake --version
rake, version 11.1.2

bundlerのインストール

rbenvのコマンドを使用し、bundlerをインストールします。

rbenv exec gem install bundler
rbenv rehash

インストールされているかの確認にバージョンを確認し、再度bundleインストールを実行します。

rbenv exec gem which bundler
bundle install