コンテンツへスキップ

WindowsでVagrant使うならvagrant-winnfsdを入れた方がよい

WindowsでVagrantを使って開発をする際、ローカルとサーバーのソースを同期させる手段は色々ありますが、どうせVagrantを使っているなら一元管理したらええやん。ってことでvagrant-winnfsdの導入をおさらい。

必要なもの

  • windows
  • Vagrant
  • VitrualBox(他の仮想環境試したことないだけなので、VMwarePlayerとかでもいけると思います)
  • 愛情

やること

  1. コマンドプロンプトを開いてプラグインを入れる
    おもむろに以下のコマンドを打つ

    vagrant plugin install vagrant-winnfsd
  2. Vagrantfileに同期の設定を追加する
    書き方

    config.vm.synced_folder "ローカルのフォルダー", "サーバーのディレクトリ", type: "nfs"

    記述例

    config.vm.synced_folder "C:/path/to/source/web", "/var/www/html", type: "nfs"

    ※type: “nfs”がポイント!
    公式ドキュメントにはWindowsでは出来ない(推奨しない?)と書かれているがvagrant-winnfsdがあれば大丈夫。

  3. お好みでデフォルトのフォルダー同期を切る
    以下のおまじないを書いてね。

     config.vm.synced_folder ".", "/vagrant", disabled: true
  4. vagrant upコマンド実行
    vagrant up
  5. 終わり。

Vagrantfileの書き方がわからない?

それならVagrantfileテンプレートへGo。

結局?

何が便利になったかというと…。

  • WinSCP等のFTPクライアントでも同期はできるが、それを起動するまでもなく同期ができて開発までの手順が一つ減る
  • nfsをマウントしているだけなので、サーバー側でソースをいじるとローカルにも反映される。Vimmer大歓喜…?
  • 他のフォルダー同期方法と違って待たされる感じが無い。速度UP

ハマりどころ