状況
Windows上でRuby on Railsの開発をしていたのですが、Windows直置きだといろいろ制約も発生するので、VirtualBoxでの開発に乗り換えました。
ところが、1ページ表示するのに数秒かかるような状態となっています。変だと思ったので調べてみると、開発モードでビューを表示する際に、Sprocketsで行われる各アセットファイルの状態チェックに時間が食われていることが判明しました。
物は試しに、共有ディレクトリ全体を仮想マシン内にコピーしてみたところ、1秒以内に出るようになりましたので、VirtualBoxの共有フォルダが足を引っ張っているのはほぼ間違いない状況です。
調べてみたこと
仮想マシン内で、共有フォルダと同期したフォルダにコピーという手段も考えてみたのですが、vboxsfにはinotifyがなく、また実装するのも困難とのことで、inotifyに依存するツールも使えない状況です。
やりたいこと
「Windows上でファイルを編集して、何の操作もせずにRails上にすぐ反映される」ことと「Railsの表示で、ファイルアクセスのために過剰に待たされない」ことが両立できることです。例えば、以下のような方法が考えられますが、全く別ルートでも解決できれば問題ありません。
- VirtualBoxの共有フォルダを高速化する
- Windows側のフォルダを変更すれば自動でVirtualBoxローカルなフォルダに反映される
制約条件
ただし、以下のような手段は考慮の対象外とします。
- Windows 10、VMware、SSDなど、有償のものが必要となるような手段
- Rails 5.0以降へのアップデート(今のところ頓挫中です)
あと、できれば「CentOS 7など、仮想マシンのディストリビューション変更を必要とする手段」や「Sprockets依存を脱却する」というような方法も避けていただければありがたいです。
環境
ホスト側
- Windows 7 x64
- VirtualBox 5.1.22(質問時点の最新版)
- Visual Studio Code
ゲスト側
- CentOS 6.9 x64
Linux (マシン名) 2.6.32-696.1.1.el6.x86_64 #1 SMP Tue Apr 11 17:13:24 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
- ruby 2.3.4p301 (2017-03-30 revision 58214) [x86_64-linux]
- Ruby on Rails 4.2.8
- sprockets 3.7.1、sprockets-rails 3.2.0

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。