概要
laravelのドキュメントを参考にHomestead環境を構築時に少し嵌ったのでメモします。
https://qiita.com/ricoirico/items/9745160bcf9983fa30ad
https://readouble.com/laravel/5.7/ja/homestead.html
上記を参考にvagrant upとvagrant sshともにうまく実行できたけど、
Homestead.yamlの共有フォルダ~/codeが仮想環境(vagrant ssh先にフォルダが作成されない)に作成されませんでした。vagrant up時の出力をよく見るとhomestead: Unable to mount one of your folders. Please check your folders in Homestead.yamlと出ていました。
解決方法
早速、解決方法から述べます。ローカルの共有フォルダ指定folders: -map:を絶対パスにすると共有できました。
他のファイルは~で参照できてるけどfoldersだけ参照できないみたいです。環境固有のバグですかね?
共有フォルダを設定するプログラムが違う権限で実行されていて共有フォルダの権限を755から777にすればうまくいけるかも?(試してませんw)
folders:
- map: ~/code
to: /home/vagrant/code
folders:
- map: C:/Users/ユーザー名/laravel/Homestead/code
to: /home/vagrant/code
その他に共有できない原因
もう一つ嵌りがちなのがvagrant up前にローカルに共有フォルダを作成必要があるみたいです?
-
vagrant up前にローカルに共有フォルダを作成する。作成していなかった場合はvagrant destroyとvagrant upで再構築してみてください。 - ファイルのパスが間違っている
- ファイル権限の確認