OS X El Capitanでvagrant upできなくなった!
初めまして。開発チーム唯一のMacユーザNakazawaです。
今回不可思議な現象に出くわし、なんとか解決できたのでその一部始終を記してみます。
とりあえず起動時のエラーをなんとかしたい
これまでOS X El CapitanにてVagrant+VirtualBoxでローカル環境をつくり、機嫌よく作業していました。 が、ある日突然OS起動時に
CoreTelephony Trace File Error
というダイアログが出るようになり、「?」と思いながらvagrant upしようとしたところまたエラー。 どうやらVirtualBoxが立ち上がらないようです。
試しにVirtualBoxのみ起動しようとすると
COMオブジェクトの作成に失敗しました。アプリケーションを終了します。
シーン・・・。まさかまた諸々の設定をやり直すのか・・と 悲しみが胸を去来しましたが、 そのあたりの心の問題は割愛し、 結論から言うと、OSをmacOS Sierraにアップデートしたところ、起動時のエラーはなくなり、 VirtualBoxも立ち上がるようになりました。
状況が許せばこれが手っ取り早い方法かもしれません。
VirtualBox再インストールを試みたり、下記参考に色々試しましたが、私の環境では解決に至りませんでした。
El CapitanのSystem Integrity Protection(rootless)の解除方法
Mac OS X 10.11 EI CapitanでOperation not permittedが出た時の解決法
VirtualBoxで新しくBoxができてしまったので紐付けを戻す
VirtualBoxが立ち上がるようになり、ウキウキvagrant upすると、んんん?
==> default: Setting the name of the VM: ....
どうやら新しくBoxができてしまったようです。
Vagrantfileのある場所でbox一覧を確認。
VBoxManage list vms
そして現在紐付いているIDを確認
cat .vagrant/machines/default/virtualbox/id
これを本来のIDに書き換えます。
OK。これまでのBoxを見てくれるようになりました。
ポートフォワーディング情報をVagrantfileに追記
これで大丈夫か、と思いきや今度は80番ポートのフォワーディングがおかしいというエラー。
どうやらこれはMacOS固有の問題のようです。
下記参考に、Vagrantfileにforwarded_portの情報を追記。
# ホスト10080 -> ゲスト80 config.vm.network "forwarded_port", guest: 80, host: 10080
OSX における Vagrant 80番ポートフォワーディング
認証鍵を再設定
さて、と何度めかのvagrant upをすると、
default: Warning: Authentication failure. Retrying... default: Warning: Authentication failure. Retrying... default: Warning: Authentication failure. Retrying... . .
...。何でや。
とりあえず素直に参照している秘密鍵を確認。
vagrant ssh-config
IdentityFileで鍵の場所を特定し、公開鍵を作ります。
ssh-keygen -yf /Users/hoge/private_key > public_key
できた中身をauthorized_keysに書いて vagrant reloadすると...。
無事起動!!
ヤッター!
以下Vagrantfileに追記でも解決できるようです。
config.ssh.insert_key = false