Vagrant 未启动。创建 VM 的用户与当前用户不匹配
Vagrant Not Starting Up. User that created VM doesn't match current user
我试图启动我的 vagrant 机器,所以我导航到我的 vagrantfile 所在的文件夹,并使用:
vagrant up && vagrant ssh
但我收到以下错误消息:
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: 501
我也试过使用 sudo,但也没用。
我需要切换 UID 吗?我该怎么做?
As a security measure, the Linux implementation of internal networking
only allows VMs running under the same user ID to establish an
internal network.
也就是说,你得切换到root(UID 0
)到运行才行。
我运行今天遇到了同样的问题。
我通过打开文件 .vagrant/machines/default/virtualbox/creator_uid
并将 501 更改为 0 来编辑我的 UID .
保存文件后,命令 vag运行t up 运行得非常好。
注意:.vagrant
文件夹与您的 Vag运行t 文件位于同一目录中,运行 vagrant up
运行在稍微不同的情况下进入这个问题。问题是“.vagrant”被签入 git 回购协议,而提交者 运行 使用的 UID 与我不同。
解决方案:将 .vagrant 添加到 .gitignore.
我尝试更改 .vagrant\machines\default\virtualbox\creator_uid 中的 ID,但这对我不起作用但删除了文件,creator_uid 成功了。
我 运行 遇到了同样的问题,但在我的情况下,这是因为我在 sudo
下有 运行 vagrant up
,当我稍后回来时我忘记了。
愚蠢的错误,但我敢肯定这不是第一次有人 :)
运行 以下命令:
bash
sudo vagrant up
我买了新电脑后遇到了同样的问题。我没有从我的旧计算机上复制所有文件,而是不得不从 git 存储库中再次 检查 vagrant 项目。在那之后,vagrant up
工作正常。
您可能 运行 命令:sudo vagrant up
这意味着作为普通用户,您无法查看甚至删除 /.vagrant
文件夹和文件。
如果是这样,只需运行:sudo vagrant destroy -f
那么您应该可以运行(作为您的普通用户帐户):vagrant up
只需在此处更改用户 ID
.vagrant/machines/default/virtualbox/creator_uid
只是为了补充 Fred 的 回答。
确保您更改了正确的 VM 机器。例如,我的 VM 名称不是默认名称,而是称为 homestead-7。
所以正确的路径是:
.vagrant/machines/homestead-7/virtualbox/creator_uid
而不是:
.vagrant/machines/default/virtualbox/creator_uid
当我将 Mac 更改为另一个 Mac 时,我发生了这个错误。
删除当前工作目录中.vagrant隐藏目录的内容,重新运行vagrant up命令。
错误,因为 Vagranfile /s 从一个系统复制/备份到另一个系统。用户 id 对 Vagrant 提出环境的误解..
希望它能帮助欢呼..!! :))
如果您不想删除该文件夹,您可以在当前工作目录的隐藏目录中更新文件中当前用户的 uid,即 .vagrant/machines/jenkins/virtualbox$ vim creator_uid
我遇到过同样的情况,但我有一个 multi-machine Vagrantfile。
要用新的 (1000) 替换旧的 uid (1001),我使用了以下命令:
for i in $(find . -type f -iname "creator_uid" ) ; do echo 1000 > $i ; done
我遇到了同样的问题,我忘记在 vagrant up
之前放置 sudo
,你只需要在你的 vagrant 文件的文件夹中执行 sudo vagrant up
。
我有多机 vagrant 文件。我已经检查了 creator_uid
并且它是 0
但仍然无法加载。所以我删除了所有 Multi-Machine 的 creator_uid
文件并且它起作用了。路径应该是 .vagrant\machines\<machine_name>\virtualbox
我遇到了同样的问题,但这是因为我从 GitHub 存储库克隆了一个练习文件。我发现问题出在存储库中包含的 .vagrant 文件。
对我有用的是删除 .vagrant 目录并重新运行 vagrant up
rm -rf .vagrant/machines/default/creator_uid
我试图启动我的 vagrant 机器,所以我导航到我的 vagrantfile 所在的文件夹,并使用:
vagrant up && vagrant ssh
但我收到以下错误消息:
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: 501
我也试过使用 sudo,但也没用。
我需要切换 UID 吗?我该怎么做?
As a security measure, the Linux implementation of internal networking only allows VMs running under the same user ID to establish an internal network.
也就是说,你得切换到root(UID 0
)到运行才行。
我运行今天遇到了同样的问题。
我通过打开文件 .vagrant/machines/default/virtualbox/creator_uid
并将 501 更改为 0 来编辑我的 UID .
保存文件后,命令 vag运行t up 运行得非常好。
注意:.vagrant
文件夹与您的 Vag运行t 文件位于同一目录中,运行 vagrant up
运行在稍微不同的情况下进入这个问题。问题是“.vagrant”被签入 git 回购协议,而提交者 运行 使用的 UID 与我不同。
解决方案:将 .vagrant 添加到 .gitignore.
我尝试更改 .vagrant\machines\default\virtualbox\creator_uid 中的 ID,但这对我不起作用但删除了文件,creator_uid 成功了。
我 运行 遇到了同样的问题,但在我的情况下,这是因为我在 sudo
下有 运行 vagrant up
,当我稍后回来时我忘记了。
愚蠢的错误,但我敢肯定这不是第一次有人 :)
运行 以下命令:
bash
sudo vagrant up
我买了新电脑后遇到了同样的问题。我没有从我的旧计算机上复制所有文件,而是不得不从 git 存储库中再次 检查 vagrant 项目。在那之后,vagrant up
工作正常。
您可能 运行 命令:sudo vagrant up
这意味着作为普通用户,您无法查看甚至删除 /.vagrant
文件夹和文件。
如果是这样,只需运行:sudo vagrant destroy -f
那么您应该可以运行(作为您的普通用户帐户):vagrant up
只需在此处更改用户 ID .vagrant/machines/default/virtualbox/creator_uid
只是为了补充 Fred 的
确保您更改了正确的 VM 机器。例如,我的 VM 名称不是默认名称,而是称为 homestead-7。
所以正确的路径是:
.vagrant/machines/homestead-7/virtualbox/creator_uid
而不是:
.vagrant/machines/default/virtualbox/creator_uid
当我将 Mac 更改为另一个 Mac 时,我发生了这个错误。
删除当前工作目录中.vagrant隐藏目录的内容,重新运行vagrant up命令。 错误,因为 Vagranfile /s 从一个系统复制/备份到另一个系统。用户 id 对 Vagrant 提出环境的误解.. 希望它能帮助欢呼..!! :)) 如果您不想删除该文件夹,您可以在当前工作目录的隐藏目录中更新文件中当前用户的 uid,即 .vagrant/machines/jenkins/virtualbox$ vim creator_uid
我遇到过同样的情况,但我有一个 multi-machine Vagrantfile。
要用新的 (1000) 替换旧的 uid (1001),我使用了以下命令:
for i in $(find . -type f -iname "creator_uid" ) ; do echo 1000 > $i ; done
我遇到了同样的问题,我忘记在 vagrant up
之前放置 sudo
,你只需要在你的 vagrant 文件的文件夹中执行 sudo vagrant up
。
我有多机 vagrant 文件。我已经检查了 creator_uid
并且它是 0
但仍然无法加载。所以我删除了所有 Multi-Machine 的 creator_uid
文件并且它起作用了。路径应该是 .vagrant\machines\<machine_name>\virtualbox
我遇到了同样的问题,但这是因为我从 GitHub 存储库克隆了一个练习文件。我发现问题出在存储库中包含的 .vagrant 文件。
对我有用的是删除 .vagrant 目录并重新运行 vagrant up
rm -rf .vagrant/machines/default/creator_uid