質問: お世話になります。 題名通り、vagrant上でnpm installをするとシンボリックリンクの拒否が理由でエラーが出ました。 調べてみると、 * リストVirtual Box上ではセキュリティの関係上、共有フォルダにシンボリックリンクを張ることを禁止している。 ということみたいで、--no-bin-linksオプションをつけるとうまくいくということを記述されているのですが、 それをつけて、もう一度実行すると ``` npm ERR! path /home/vagrant/code/public/Peppy/node_modules/fsevents/build/Release/.deps/Users/eshanker/Code/fsevents/lib npm ERR! code ETXTBSY npm ERR! errno -26 npm ERR! syscall rmdir npm ERR! ETXTBSY: text file is busy, rmdir '/home/vagrant/code/public/Peppy/node_modules/fsevents/build/Release/.deps/Users/eshanker/Code/fsevents/lib' npm ERR! A complete log of this run can be found in: npm ERR! /home/vagrant/.npm/_logs/2017-11-01T04_51_06_278Z-debug.log vagrant@homestead:~/code/public/Peppy$ sudo npm install --no-bin-links npm ERR! path /home/vagrant/code/public/Peppy/node_modules/fsevents/build/Release/.deps/Users/eshanker/Code/fsevents npm ERR! code ETXTBSY npm ERR! errno -26 npm ERR! syscall rmdir npm ERR! ETXTBSY: text file is busy, rmdir '/home/vagrant/code/public/Peppy/node_modules/fsevents/build/Release/.deps/Users/eshanker/Code/fsevents' npm ERR! A complete log of this run can be found in: npm ERR! /home/vagrant/.npm/_logs/2017-11-01T04_53_48_591Z-debug.log vagrant@homestead:~/code/public/Peppy$ ``` というエラーが出てしまいます。 おそらく * bin package moduleをインストールする際、WinsowsのPathの最大長制限(260文字)に引っかかっている。 * ホストOSがWindowsの場合、Vagrantの共有フォルダ(/vagrant)はWindowsのフォルダであるため、そこにPathを通す際、260文字を超えるとWindowsのPathの最大長に引っかかる。 という理由な気がするんですが、これの直し方をお分かりの方がいらっしゃればよろしくお願いします。
回答: 結論を最後に書きますが、一応その状態での解決方法を書いておきます。 ファイル名のパス長の問題はどこかで解決していた気がするので 以下を試してみてください。 ・VirtualBox、Vagrantを最新版にする ・npm、nodeを最新版にする ・管理者権限でコンソールを立ち上げてからvagrant up、sshする もう少し込み入った設定などは windowsでlaravel5をvagrantの共有フォルダで開発しようと思っている人へ。 - Qiita に記載しています。 ただ、現状ではVagrant上の共有フォルダ内でnpm installするのは速度的な面もあってあまり良いとは言いにくいです。 私のおすすめはWindowsに直接nodeを入れてクライアント側でnpm installする方法です。 こちらの方が比較的早くインストールが終わりますので、良いかと思われます。