Qiitaしろよという話なのだが、技術者天下一武道会の会場に白帯が行くのってオカシイじゃないですか。という理屈で自Blogに備忘録がてらメモ。
経緯
- 元OS(10.13)時点では問題なく動作していた
- OS Version Up(10.15)にした結果、いくつかのVagrant エラーで起動しなくなった
- 環境はVirtualBox 6.1.0 / Vagrant 2.2.6 / VCCW 3.21.1(念のためすべて最新版に)
以下はエラーごとに対処法を記述。
The VirtualBox VM was created with a user that doesn't match the current user
running Vagrant. VirtualBox requires that the same user be used to manage the VM
that was created. Please re-run Vagrant with that user. This is not a Vagrant issue.
The UID used to create the VM was: ###
Your UID is: ***
VagrantのUIDが異なるから修正しろ。というエラー。OSのVersion Upでズレるときがあるもよう。
対策
/.vagrant/machines/[hostname]/virtualbox/creator_uid
の中身が「###」となっているので、指定されているYour UID isの「***」に変更する。
The private key to connect to the machine via SSH must be owned
by the user running Vagrant. This is a strict requirement from
SSH itself. Please fix the following key to be owned by the user
running Vagrant:
/[起動しているVCCWのフォルダ]/.vagrant/machines/[hostname]/virtualbox/private_key
今回一番意味不明だったエラーで、海外の掲示板を見ると、
「親切にprivate_keyの所有権が違うと書いてあるだろ。そこをchownで修正しろ」
とあったが、さっぱり意味がわからなかった。
いや厳密に言うと、
$ls -l
-rw——- 1 root admin 1679 6 19 2019 private_key
みたいになっていたので、ユーザー所有がrootでグループがadminなら問題なく通るはずでは?とちんぷんかんぷんだった。
対策
そこで新規にテスト用にvccwを用意して構築して、同じファイルをchmodで確認すると、ユーザー所有がログインID(norainuとか)となっていた。
なのでやはり指摘が正しくて、
$sudo chown norainu private_key
$ls -l
-rw——- 1 norainu admin 1679 6 19 2019 private_key
と変更する。
これでVagrant upでSSHのkeyが異なるというエラーから開放されて無事起動した。
ちなみにそもそもVagrant 2.2.6ではVirutalBox 6.1.0で起動しない。
これについてはVagrantが次のVersion Upで対応とのことだが、開発者の方が対応方法を記載しているので、そちらの作業で回避できる。