前回VagrantでNAS上のBOXファイルが取り込めない問題を取り上げた。
Vagrantfile内で box_url="\\192.168.0.1\日本語フォルダ\日本語ファイル.box"
を指定したがcurlのバージョン&2バイト文字が原因で取り込めなかったため、一時的にネットワークドライブを割り当てることで解決した、という内容だ。
ややトリッキーではあるものの実用に問題はなかったのでしばらくはこの方法で運用していたが、遂に根本的に解決することができたのでご紹介する。
(古いバージョンでも問題はないと思うが、今回は現時点で最新版のVagrant 2.2.10を使用する)
Vagrant(2.2.7)を導入して遊んでいたが、以下の問題にぶち当たった。
NAS上にあるBOXファイルを読み込みたかったので、
- vagrant box add "BOXファイルへのパス" コマンドを叩く
- Vagrantfile内で box_url="BOXファイルへのパス" を指定する
上記の際にネットワークパス("\\192.168.0.1\share\path")やWindowsのUNCパス("\\computer-name\share\path")を指定したが、"Can't open file"というエラーが出てBOXファイルをロードできなかった。
結果としてはコマンドプロンプトのpushd、popdコマンドを使い一時的にネットワークドライブを割り当てることで対処したが、なぜUNCパスがダメなのかが気になる。