web-dev-qa-db-ja.com

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

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

vagrant up && vagrant ssh

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

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

VMの作成に使用されたUIDは0でした。UIDは501です。

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

UIDを切り替える必要がありますか?そして、私はこれをどうしますか?

116
Luke

今日も同じ問題に遭遇しました。
ファイル.vagrant/machines/default/virtualbox/creator_uidを開き、501をに変更して、UIDを編集しました。

ファイルを保存した後、コマンドの浮浪者はチャンピオンのように機能しました。

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

235
Fred

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

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

31
Chris Cogdon

私は同じ問題にぶつかりましたが、私の場合は、Sudoの下でvagrant upを実行したため、後で戻ったときに忘れていました。

愚かな間違いですが、それは誰かが起こったのは初めてではないと確信しています:)

7
ConorLuddy

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

5
Canje027

ここでユーザーIDを変更するだけです.vagrant/machines/default/virtualbox/creator_uid

3
Oleg Tokar

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

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

その場合、単に実行します:Sudo vagrant destroy -f

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

1
brandon

VirtualBox User Manual によると:

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

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

1
dmargol1

Fredの 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に変更したときに発生しました。

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

bash
Sudo vagrant up
0
vixadd

同じ状況に直面しましたが、 multi-machine Vagrantfileがあります。

古いuid(1001)を新しいuid(1000)に置き換えるには、次のコマンドを使用しました。

for i in $(find . -type f -iname "creator_uid" ) ; do echo 1000 > $i ; done

新しいコンピューターを入手した後も同じ問題が発生しました。古いコンピューターからすべてのファイルをコピーする代わりに、gitリポジトリーからagainの浮浪者プロジェクトをチェックアウトする必要がありました。その後、vagrant upは正常に機能しました。

0
matschmann

現在の作業ディレクトリの.vagrant隠しディレクトリの内容を削除し、vagrant upコマンドを再実行します。エラー、1つのシステムから別のシステムへのVagranfile/sのコピー/バックアップのため。 Vagrantに対するユーザーIDの誤算により、環境が向上します。 :))uがそのフォルダを削除したくない場合、uは現在の作業ディレクトリの非表示ディレクトリ、つまり.vagrant/machines/jenkins/virtualbox $ vim creator_uidにあるファイル内の現在のユーザーのuidを更新できます

0
siva krishna

Sudovagrant upの前に置くのを忘れていたのと同じ問題がありました。vagrantファイルのフォルダーでSudo vagrant upを実行するだけです。

0
luis matos