vagrant up でUIDについて怒られたとき
vagrant up しようとしたら、以下のエラーが
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: 0 Your UID is: 100
このときはvagrant upだけじゃなくて,vagrantに関するの他のコマンド全てがこのようなエラーが出て実行できないはずです。
見てみると、VMの作成者のIDが0にも関わらず、お前は100じゃないかと。 作成者IDを持つユーザで実行しよう。的なことが言われてます。
そんなときは
.vagrant/machines/default/creator_uid
に書いているIDを自分のユーザのものに書き換えると良いらしいです。
0
↓
100
参考→Vagrantの起動時に発生するUID競合を修正してみた
これで先のようなエラー文は出てきません。
このcreator_uid
というのは,最初にvagrant upしたユーザのidが書き込まれてます。
(ちなみにuidは dscl . -list /Users uid
でユーザ名と合わせて確認できる)
今回は0になってたので、最初にrootでvagrant up(sudo)しちゃったのが原因だと何となく分かります。
注意点としては、この状態でvagrant up
をかますと、初めてupしますよ〜的なノリで立ち上がり始めます。
つまり、色々と環境を整えてから、書き換えてupするとそれがパーになります。
かなり初期の状態なら、迷わず書き換えても良いと思うけど、がっつり手を加えてしまったらば、
BOX作って追加して…とやったほうが良さそう。
一応、以下手順
vagrant package vagrant box add *** package.box vagrant init *** vagrant up
もちろん最初にvagrant upするときは、今後利用するであろうユーザなのを確認してからにしましょう。