私はvagrantマシンを起動しようとしていたので、私のvagrantfileがあるフォルダーに移動し、使用しました:
vagrant up && vagrant ssh
しかし、次のエラーメッセージが表示されました。
VirtualBox VMは、Vagrantを実行している現在のユーザーと一致しないユーザーで作成されました。 VirtualBoxでは、作成されたVMの管理に同じユーザーを使用する必要があります。そのユーザーでVagrantを再実行してください。これはVagrantの問題ではありません。
VMの作成に使用されたUIDは0でした。UIDは501です。
私もSudoで試しましたが、それでもうまくいきませんでした。
UIDを切り替える必要がありますか?そして、私はこれをどうしますか?
今日も同じ問題に遭遇しました。
ファイル.vagrant/machines/default/virtualbox/creator_uid
を開き、501をに変更して、UIDを編集しました。
ファイルを保存した後、コマンドの浮浪者はチャンピオンのように機能しました。
注意:.vagrant
フォルダーは、vagrant up
を実行したVagrantfileと同じディレクトリにあります
わずかに異なる状況でこの問題に遭遇しました。問題は、「。vagrant」がgitリポジトリにチェックインされ、コミッターが私とは異なるUIDで実行されていたことです。
解決策:.vagrantを.gitignoreに追加します。
私は同じ問題にぶつかりましたが、私の場合は、Sudo
の下でvagrant up
を実行したため、後で戻ったときに忘れていました。
愚かな間違いですが、それは誰かが起こったのは初めてではないと確信しています:)
.vagrant\machines\default\virtualbox\creator_uidでIDを変更しようとしましたが、ファイルは削除されましたが、creator_uidがうまくいきました。
ここでユーザーIDを変更するだけです.vagrant/machines/default/virtualbox/creator_uid
次のコマンドを実行した可能性があります:Sudo vagrant up
これは、通常のユーザーとして、/.vagrant
フォルダーとファイルを表示したり、削除することさえできないことを意味します。
その場合、単に実行します:Sudo vagrant destroy -f
次に、(通常のユーザーアカウントとして)実行できるはずです:vagrant up
VirtualBox User Manual によると:
セキュリティ対策として、内部ネットワークのLinux実装では、同じユーザーIDで実行されているVMのみが内部ネットワークを確立できます。
つまり、実行するにはルート(UID 0
)に切り替える必要があります。
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
同じ状況に直面しましたが、 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
は正常に機能しました。
現在の作業ディレクトリの.vagrant隠しディレクトリの内容を削除し、vagrant upコマンドを再実行します。エラー、1つのシステムから別のシステムへのVagranfile/sのコピー/バックアップのため。 Vagrantに対するユーザーIDの誤算により、環境が向上します。 :))uがそのフォルダを削除したくない場合、uは現在の作業ディレクトリの非表示ディレクトリ、つまり.vagrant/machines/jenkins/virtualbox $ vim creator_uidにあるファイル内の現在のユーザーのuidを更新できます
Sudo
をvagrant up
の前に置くのを忘れていたのと同じ問題がありました。vagrantファイルのフォルダーでSudo vagrant up
を実行するだけです。