環境
- 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