bundle install 時に「gem install json -v '1.8.6'」エラー
Ruby on Railsのプロジェクトを他社から引き継ぐことになり、Ruby素人の段階から本番環境を解析して開発環境構築を試みています。
プロジェクトをgitでpullし、あらかじめ用意されていたGemfileを使って最初のbundle install すると「gem install json -v '1.8.6'」エラーが出てしまい、先に進めなくなってしまいました。
使用環境
Windows10
VirtualBox:5.2.30
Vagrant:2.2.4
Ubuntu:12.04
ruby:2.2.2(rvmで管理)
rails:2.4.7
原因
Windows上でソースの編集を行うため、Vagrant のゲストOSとWindowsでフォルダをプロジェクト共有していたのですが、
共有フォルダ内にネイティブエクステンションをインストールしようした時に出るエラーのようでした。
http://joequery.me/guides/bundle-install-text-file-busy/
ruby gemsのインストール先を共有ディレクトリにしていると起こるエラーだということが書かれている記事を見つけることができて
インストールディレクトリをホストと共有していない場所に変更することによって解決できました。
今回の解決方法(BUNDLE_PATHの変更)
まず、Vagrantのホームディレクトリに「.bundle」ディレクトリを作る
この開発環境構築作業で解決に時間がかかってしまいました。