Edited at

windowsでlaravel5をvagrantの共有フォルダで開発しようと思っている人へ。

More than 3 years have passed since last update.

詰む人が出てきそうなので、ここに書こうと思います。

実際に自分も詰みました・・・。

新しいやり方書きました。新しい方のほうが雑です。

最近、Laravel5でベストだと思うフォルダ共有方法。With Windows


一応vagrantの仮想環境について


  • vagrant 1.6.5

  • centos 6.5

  • nodebrew 0.8.1

  • node 0.12.0

  • npm 2.7.1

  • apache 2.2.15

  • php 5.4.38

  • mysql 5.5.42-log


内容

Laravel5では、フロントエンド等を便利にするためのシステムとして、Laravel Elixirというシステムがあります。(フロント以外だと、自動でPHPUnit実行とか出来たりするはず

このLaravel Elixirなのですが、npmでインストールする必要があります。

原因はよくわかりませんが、tarを解凍出来ないエラーが出たりして、npmのインストール時に詰みました。

最終的に私が取ったのは、現状PHPStormを使っていたこともあっったので、SFTPで同期する形でプロジェクトを作りなおす事になりました。

一応、このSFTPで同期する方法を取ることでnpm installは問題なく動くようになりました!→同期に時間が掛かりすぎて、ちょっとこの方法は厳しいことが分かりました・・・。

追記1

node_modulesをシンボリックリンクすれば行けます的な記事を見つけたのでやってみた。

結論としては、シンボリックリンクがどうしても使うことが出来ず、断念。もともとvirtualboxの仕様で、共有フォルダにシンボリックリンクは貼れないらしい・・・。

追記2

読み込ませる方法が分かりました!

VirtualBoxを最新にします。(多分バージョン4以上なら不要)

Vagrantfileに以下を追加します。

config.vm.provider "virtualbox" do |v|

v.customize ["setextradata", :id, "VBoxInternal2/SharedFoldersEnableSymlinksCreate/v-root", "1"]
end

管理者権限でプロンプトを開きます。

この謎のコマンドを打ちます。どうやらシンボリックリンクの有効範囲を設定するみたいです。(打たなくても行ける人は行けるみたいです)

fsutil behavior set SymlinkEvaluation L2L:1 R2R:1 L2R:1 R2L:1

これで、vagrantを立ちあげてみると、来ました来ました!シンボリックリンクが貼れました!

あとはこれでnpmが動けば・・・、やったー!動いたーーー!


最後に

これを解決出来る人がいれば教えていただきたいです・・・。

最終的に自己解決に至りました・・・w

ではではー。


追記

ストックされる方が多くなってきたので追記しておきます。

この方法はwindows環境下でvagrant上でnodeを動かしたい人向けの記事です。

海外の書籍を確認する限り、windows環境にnodeをインストールして動かすというのも手みたいです。

ただ、win環境だと動かないnodeライブラリとか出てきそうですけどね。。。