ピティナ開発者ブログ

全日本ピアノ指導者協会のIT担当者が気まぐれにつづる技術系中心のブログです


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を見てくれるようになりました。

Vagrantと仮想マシンの紐づけを修正する

ポートフォワーディング情報を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すると...。
無事起動!!
ヤッター!

vagrant upで失敗する原因が鍵不一致の場合の対処法

以下Vagrantfileに追記でも解決できるようです。
config.ssh.insert_key = false

(著: 中澤 愛)
この記事は現在0人が閲覧中