これは、共有フォルダーへのアクセスが遅いために vagrant または virtualbox ゲストの実行が遅いということではなく、nfs を有効にすることで多かれ少なかれ解決できることがわかっています。
むしろ、vm 内で多くのファイル操作がある場合に、マウントされた共有フォルダーが同期しなくなることについてです(nfs を有効にしても、それが発生するのを防ぐことはできません)。
たとえば、vm 内のphpcomposer
や node.jsのように、パッケージをインストールする場合、通常または失敗する可能性があり、失敗すると、同期フォルダーを復元して同じコマンドを許可するだけで済みます。問題なく通過。npm
composer update
npm install
vagrant reload
このようなランダムな障害は、共有フォルダー (nfs であるかどうかに関係なく) で実行する場合にのみ発生するためapt-get upgrade
、vm フォルダー内で実行する場合と同じ問題は発生しません。
ホストサーバーからcomposerまたはnpmを実行しても同じ同期の問題は発生しないため、何が原因で、どのようにデバッグすればよいのでしょうか?
vagrant のセットアップと構成:
if Vagrant::Util::Platform.windows?
config.vm.synced_folder "www", "/var/www", :extra => "dmode=777,fmode=777", :owner => "vagrant", :group => "vagrant"
else
config.vm.synced_folder "www", "/var/www", :extra => "dmode=777,fmode=777", :nfs => true
end
ゲスト: Ubuntu 12.04 LTS x64
ホスト: Windows 8、Mac OSX 10.8、Ubuntu 13 (はい、すべてランダムに同じ問題に遭遇します)