Vagrantが起動しない。VMを作成したユーザーが現在のユーザーと一致しません


123

私はvagrantマシンを起動しようとしていたので、vagrantfileがあるフォルダーに移動して使用しました:

vagrant up && vagrant ssh

しかし、次のエラーメッセージが表示されました。

VirtualBox VMは、Vagrantを実行している現在のユーザーと一致しないユーザーで作成されました。VirtualBoxでは、作成されたVMの管理に同じユーザーを使用する必要があります。そのユーザーでVagrantを再実行してください。これは浮浪者の問題ではありません。

VMの作成に使用されたUIDは次のとおりです:0あなたのUIDは:501

私もsudoを試しましたが、それもうまくいきませんでした。

UIDを切り替える必要がありますか?そして、どうすればいいですか?

回答:


252

今日も同じ問題に遭遇しました。ファイルを開いて5010に変更することで
UIDを編集しました。.vagrant/machines/default/virtualbox/creator_uid

ファイルを保存した後、vagrant upコマンドは大胆に動作しました。

注意:.vagrantフォルダーは、実行したVagrantfileと同じディレクトリにあります。vagrant up


64
私も同じ状況で、ubuntuマシンからtarballをタール化​​していました。したがってrm -rf .vagrant、ubuntuで作成されたディレクトリを削除するだけでも問題は解決しました。
ジェフシェフィールド

1
//わあ、ありがとう、@ Fred!Stackoverflowは、この種の正確で難しいソリューションを以前に対処しなければならなかった人から見つけることで、最高の状態で私たちに役立ちます。通常.vagrant、Unixベースのマシンのフォルダはどこにありますか?
Nathan Basanese 2015年

1
わかりません、@ Nathan。creator_uidファイルに対してLocateコマンドを実行できますか?コマンドラインで「locate creator_uid」を試して、編集するファイルへのパスを見つけます。
フレッド

4
私の場合、creator_uidには "90210"が含まれていましたが、UIDは502です。このソリューションで提案されているように、ファイルのUIDを0に変更するのではなく、502に変更しました。
LS

5
@NathanBasanese .vagrantフォルダは、実行したのと同じ場所にありますvagrant up
Harish Reddy

33

少し異なる状況でこの問題に遭遇しました。問題は、「。vagrant」がgitリポジトリにチェックインされ、コミッターが私とは異なるUIDで実行されていることでした。

解決策:.vagrantを.gitignoreに追加します。


15
これは私が直面した問題でした。ただし、単にを追加.vagrantしても問題解決.gitignoreされません -YMMVですが、git rm -rf .vagrant実行する必要もあります。
マルコマッセンツィオ2015年

@marco:まったくその通りです。「.vagrant」がリポジトリに追加された場合、後で.gitignoreに追加するのは遅すぎます:)
Chris Cogdon '18

8

私は同じ問題に遭遇しましたが、私の場合、それは私がのvagrant upsudoで走っていたためでした、そして私が後でそれに戻ったとき、私は忘れていました。

愚かな間違いですが、誰かに起こったのはこれが初めてではありません。


1
同じ問題、ここで実行するのを忘れましたsudo。しかし、エラーメッセージは残念ながらそれをあまり示していません。
Zac Blazic 16

5

私は.vagrant \ machines \ default \ virtualbox \ creator_uidのIDを変更しようとしましたが、それはうまくいきませんでしたが、ファイルを削除すると、creator_uidがうまくいきました。



1

VirtualBoxユーザーマニュアルによると:

セキュリティ対策として、内部ネットワークのLinux実装では、同じユーザーIDで実行されているVMのみが内部ネットワークを確立できます。

つまり、実行するにはroot(UID 0)に切り替える必要があります。


10
sudoとして実行するべきではありません。.vagrantディレクトリを削除して、ユーザーとして実行してください
Jeremy

1

次のコマンドを実行した可能性があります。 sudo vagrant up

これは、通常のユーザーとして、/.vagrantフォルダーやファイルを表示したり削除したりできないことを意味します。

もしそうなら、単に実行します: sudo vagrant destroy -f

その後、(通常のユーザーアカウントとして)実行できるはずです。 vagrant up


0

次のコマンドを実行します。

bash
sudo vagrant up

0

新しいコンピューターを買った後も同じ問題がありました。古いコンピューターからすべてのファイルをコピーする代わりに、gitリポジトリからvagrantプロジェクトを再度チェックアウトする必要がありました。その後、vagrant upうまくいきました。


0

フレッドのhttps://stackoverflow.com/a/32256848/2065804に追加するだけです答えです。

正しいVMのマシンを変更したことを確認してください。たとえば、私のVM名はデフォルトではなく、homestead-7と呼ばれています。

したがって、正しいパスは次のとおりです。

.vagrant/machines/homestead-7/virtualbox/creator_uid

ではなく:

.vagrant/machines/default/virtualbox/creator_uid

このエラーは、Macを別のMacに変更したときに発生しました。


0

現在の作業ディレクトリの.vagrant hidden dirのコンテンツを削除し、vagrant upコマンドを再実行します。あるシステムから別のシステムへのVagranfile / sのコピー/バックアップによるエラー。ユーザーIDがVagrantを誤解して環境を立ち上げます。それが応援に役立つことを願っています。:))そのフォルダを削除したくない場合、現在の作業ディレクトリの隠しディレクトリ、つまり.vagrant / machines / jenkins / virtualbox $ vim creator_uidにあるファイルの現在のユーザーのuidを更新できます。



0

sudo以前に配置するのを忘れていたのと同じ問題がありましたvagrant up。ただsudo vagrant upvagrantファイルのフォルダーで実行する必要があります。


0

Multi-Machine vagrantファイルがあります。確認しましcreator_uidたが0、まだロードできません。だから私はcreator_uidすべてのマルチマシンのファイルを削除しました、そしてそれはうまくいきました。パスは.vagrant\machines\<machine_name>\virtualbox

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.