MacをHigh SierraにしたらVagrantが動かなくなった話

どうも、エンジニアのあっきー(akinov)です🙋
私事ですが、最近b-monsterというボクシングの暗闇系フィットネスに通い始めました💪
webで予約が取りづらいので、空きが出たら自動予約するChromeエクステンションを作ったら、思いのほか面白くChromeエクステンション作りにハマりそうです。


さて本題です。
ツクリンクの開発環境ではVagrantを使っています。
(※詳しい開発環境についてはこちら
MacをHigh Sierraアップグレードしたところ、Vagrant周りで2点問題が出ました。

状況

vagrant up でコケる

vagrant up した所、以下のエラー

vagrant up     
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Checking if box 'bento/ubuntu-14.04' is up to date...
==> default: A newer version of the box 'bento/ubuntu-14.04' is available! You currently
==> default: have version '2.2.7'. The latest is version '201708.22.0'. Run
==> default: `vagrant box update` to update.
==> default: Clearing any previously set network interfaces...
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
VBoxManage: error: Failed to create the host-only adapter
VBoxManage: error: VBoxNetAdpCtl: Error while adding new interface: failed to open /dev/vboxnetctl: No such file or directory
VBoxManage: error: Details: code NS_ERROR_FAILURE (0x80004005), component HostNetworkInterfaceWrap, interface IHostNetworkInterface
VBoxManage: error: Context: "RTEXITCODE handleCreate(HandlerArg*)" at line 71 of file VBoxManageHostonly.cpp

rails db:migrate でコケる

vagrant内で rails db:migrate した所、以下のエラー

ActiveRecord::DuplicateMigrationNameError:
Multiple migrations have the name  Hoge
Duplicate migration 20171212012345. Please renumber your migrations to resolve the conflict

migrationファイルを追加したわけでもなく、
調べてみると同名のmigrationファイルが2つありました…

解決策

vagrant up でコケる問題

システムでVagrantの読み込みがブロックされていたのでが原因でした。
システム環境設定から許可してあげることで解消します。
システム環境設定 -> セキュリティとプライバシー -> いくつかのシステムソフトウェアの読み込みがブロックされました -> 許可
Oracle America inc にチェック


rails db:migrate でコケる問題

High SierraだとNFSフォルダの同期にバグがあったようです。
NFSでの同期をやめれば解消されます。

~~~
-  config.vm.synced_folder '.', '/share', type: 'nfs'
+  config.vm.synced_folder '.', '/share'
~~~

参考:仮想マシンのファイルシステムがおかしくなってRailsがおかしくなった話

※この問題は macOS 10.13.2 High Sierra で解消されたようです。
参考:macOS 10.13.2 High SierraではVagrant+VirtualBoxでNFSフォルダのファイル数が合わず同期できなくなる不具合が修正。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です