debian/stretch64をvagrant upしようとしたらなぜかrsync関連のエラーが出たのでメモしておく。
いきさつ
普段特に気にしないときのデフォルトのboxはubuntu/trusty64を使ってて全然問題なかったのだけど、今回少し新しいアプリ群を使う必要があったので調べてみたところDebian stretchベースのがあったのでこれを使うことに。
そこでVagrantfileに:
Vagrant.configure("2") do |config|
config.vm.box = "debian/stretch64"
config.vm.synced_folder ".", "/vagrant"
end
と書いてvagrant upしてみたのだけど:
"rsync" could not be found on your PATH. Make sure that rsync
is properly installed on your system and available on the PATH.
というエラーが。
確かにホストはWin7なのでrsyncは入ってないのだけどどうしていきなりrsyncを要求されているのが分からず調べることに。
原因
検索してみたらvagrantのissueがヒット。要するにubuntu/trusty64とかでは共有フォルダのデフォルトはvboxsfを使ってるのだけど、これはVirtualBox Guest Additionsが必要。
で、これはdebian的にはnon-freeなのでdebian/stretch64には入ってなくて、共有フォルダをrsyncを使って実現してる。なのでrsyncがないとエラーが出る、という理屈らしい。
解決法
もちろんWin7にrsyncを入れてもいいのだけど、VirtualBox Guest Additionsインストール済みの"debian/contrib-stretch64"というboxもあるのでこっちを使って解決。勉強になった。