Windows Subsystem for Linux(WSL)でVagrantの環境を作る
Macばりのシェル環境をWindowsに求めWSLを使い始めたのですが、Vagrantはホスト側にいれると、WSL側からの操作ができないため、WSLでVagrantを動かす備忘録です。
WSLのインストールについては以下の記事がわかりやすいです。
やったこと
- VirtualBox → Windows
- Vagrant → WSL
VirtualBoxはWindowsにインストールし、VagrantはWSLにインストールし利用します。
全部WSL内でも良い気もしますが、WSLを吹き飛ばしたりする可能性を考慮し個人的にこの関係が良い気がします。
※VagrantfileなどもWSL内ではなく、参照しやすいWindows側に配置しているかと思うので…
ちなみにWSL側からWindowsを参照はOKですが、逆の参照はNGなのでお気をつけください。
環境
VirtualBoxのインストール
公式よりDLしインストール
懸念点としてはVagrantのリリースバージョンよりも明らかに古いバージョンを入れるのが吉です。
※Vagrant側で最新のVirtualBoxに対応できていない可能性があるため
Vagrantのインストール
aptからでもインストールできますが、若干バージョンが古かったので公式から落とすのが良さそうです。
公式よりDebian(64-bit)のパッケージを任意の場所にDL
Download - Vagrant by HashiCorp
WSLを立ち上げ、パッケージを配置した場所へ移動
cd /mnt/c/Users/<ユーザー名>/Desktop/<DLしてきたパッケージ>
インストール
sudo dpkg -i ./vagrant_*_x86_64.deb
PATHを編集
vi /home/<ユーザー名>/.bashrc
最下部あたりに以下を追記
PATH=$PATH:"/mnt/c/Program Files/Oracle/VirtualBox" export VAGRANT_WSL_ENABLE_WINDOWS_ACCESS="1"
また、WSLとWindows側でユーザー名が異なる場合は以下も追記
export VAGRANT_WSL_WINDOWS_ACCESS_USER=<Windowsのユーザー名>
Vagrantの実行
インストールも終わったし、そのまま動くと思いきやcmd.exe
がない的なことを言われます。
おそらくPATHを通せばいける気がするのですが、コマンドプロンプトからWSLを動かせば回避できたので一旦それで
以上でWSLからVagrantが動くようになります。
おわりに
Vagrant関係ないですが、WSLのおかげでGit for Windowsを入れずに、Gitをコマンドで使えるのがとてもありがたい…