新しいMacに開発環境を構築しよとVirtualBoxをインストールしたらエラーがでてしまいました。ウェブ上に転がっている情報をかき集めて対処したのですが、同じように困っている人の参考になればと、まとめておきます。
僕がエラーに遭遇した環境は下記の通り
- macOS Catalina 10.15.1
- VirtualBox 6.0.14
Virtualboxがインストールできない
まず最初にインストールしようとするとセキュリティの警告がでることがあります。
「”VirtualBox.pkg”は、App Storeからダウンロードされたものでないため開けません。」
このようなウィンドウが開いた場合は、
「システム環境設定」>「セキュリティとプライバシー」>「一般」タブと進みます。「VirtualBox.pkgは開発元を確認できないため、開けませんでした。」と出ているところを
「このまま開く」
をクリックすることでインストールを進めることができます。
ところが、インストールを進めると…
VirtualBoxインストールをすると最後に上記のようにエラーが発生します。「ソフトウェアの開発元に聞いてください」とありますが、次の「Vagrant upができない」と同じ対処方法ですので後で説明します。
Vagrant up できない
VirtualBoxはインストールできたけれど下記のようなエラーでVagrantが立ち上がらない。
There was an error while executing `VBoxManage`, a CLI used by Vagrant
for controlling VirtualBox. The command and stderr is shown below.
Command: ["hostonlyif", "create"]
Stderr: 0%...
Progress state: NS_ERROR_FAILURE
.....
.....
.....
近年のMacはセキュリティが厳しくなっていているのが原因。次の方法で解決できます。
VirtualBox製造元「Oracle」のDeveloper IDを承認して対策する!
承認されていない製造元を直接承認してインストールやvagrant up出来るようにしちゃえ!という方法です。
Recovery modeで進める必要があるので、Mac OSをシャットダウンして Command(⌘)+ Rを押したたま起動します。
Recovery modeになったら「Utilities」からTerminalを選択して起動します。
OracleのDevelopper IDは 「VB5E2TV963」。これを承認するために、下記のコマンドを使います。
spctl kext-consent add VB5E2TV963
追加したら、Macを再起動すればOK! これでインストール、vagrant up出来るようになります。
色々調べていたら「spctl kext-consent add VB5E2TV963 追加後インストールしたら削除したほうが良い」と書いている情報もあったのですが、削除するとvagrant upできませんでした。
VirtualBoxのバージョンが上がれば解決するかもしれませんが、エラーに遭遇したら試してみてください。
ちなみに追加したOracleの開発者IDを削除したいときは、Recovery modeで
spctl kext-consent remove VB5E2TV963
で削除できます。
spctl kext-consent list
で上記のIDが出てこなければ削除できています。