Could not find XXXX in any of the sources エラーの修正方法

  • 43
    Like
  • 1
    Comment
More than 1 year has passed since last update.

環境

  • ruby 2.1.3
  • rbenv 0.4.0
  • bundler 1.8.3

概要

以下のようなエラーが出た時に私個人で修正を行った再の備忘録です。
さまざまなケースがあると思いますが、私が発生したケースについて記載致します。

Could not find rake-10.4.2 in any of the sources
Run bundle install to install missing gems.

エラー時の状況

  • bundle exec rake db:migrate を実行すると発生。
  • railsサーバー起動時はにはエラーが発生せず、正常に起動する。

修正経緯

ruby 確認

$ ruby -v
$ ruby 2.1.3p242 (2014-09-19 revision 47630) [x86_64-darwin14.0]
$ which ruby
$ /Users/xxxx/.rbenv/shims/ruby

こちらは問題なかった。

bundle 確認

$ which bundle
$ /usr/bin/bundle
$ bundle show rake
$ /Users/xxxx/.gem/ruby/2.0.0/gems/rake-10.4.2

こちららおかしい。。。両方とも./rbenv配下を見て欲しいが見ていない。。。
これが原因かと思い修正

.bundle/config の削除

作成した覚えがないのだが .bundle/configというファイルがあり、中で以下が指定されていたため削除

.bundle/config

  1 ---
  2 BUNDLE_PATH: /Users/xxxx/.gem
  3 BUNDLE_DISABLE_SHARED_GEMS: '1'
$ rm -rf .bundle/
### 一応 .gemも削除
$ rm -rf ~/.gem/

.bundle/configを削除

もう一度 bundle系を確認

$ which bundle
$ /usr/bin/bundle
$ bundle show rake
$ /Library/Ruby/Gems/2.0.0/gems/rake-10.4.2

あれ。。。今度はシステムの方を見に行ってしまった。。。。

bundlerを再インストール

### rbenv exec を指定してinstall
$ rbenv exec gem install bundler
$ rbenv rehash

### 確認
$ which bundle
$ /Users/xxxx/.rbenv/shims/bundle
$ bundle show rake
$ /Users/xxxx/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/rake-10.4.2

.rbenv配下を指すようになった。

bundle install実施

$ bundle install

これでめでたく上記エラーが出なくなりました。

結論

以下のコマンドでbundlerを再インストールするとエラーが改善するかもです。

$ rbenv exec gem install bundler
$ rbenv rehash