流浪者没有启动。创建的 VM 的用户与当前用户不匹配

Vagrant Not Starting Up. User that created VM doesn't match current user

提问人:Luke 提问时间:7/27/2015 最后编辑:ShubhamLuke 更新时间:11/17/2022 访问量:72173

问:

我正在尝试启动我的流浪机器,所以我导航到我的流浪文件所在的文件夹,并使用:

流浪者 & 流浪者 SSH

但我收到以下错误消息:

VirtualBox VM 是使用与 当前运行 Vagrant 的用户。VirtualBox 要求同一用户 用于管理已创建的 VM。请使用 该用户。这不是流浪者的问题。

用于创建 VM 的 UID 为:0 UID 为:501

我也尝试过 sudo,但也没有用。

我需要切换 UID 吗?我该怎么做呢?

流浪虚拟机 virtualbox virtualenv

评论


答:

1赞 dmargol1 7/27/2015 #1

根据 VirtualBox 用户手册

作为一项安全措施,Linux 实现内部网络 仅允许在同一用户 ID 下运行的 VM 建立 内部网络。

换句话说,您必须切换到 root () 才能运行它。UID 0

评论

10赞 Jeremy 10/25/2015
不应该以 sudo 身份运行,只需删除您的 .vagrant 目录并以您的用户身份运行
267赞 Fred 8/28/2015 #2

我今天遇到了同样的问题。
我通过打开文件并将 501 更改为 0 来编辑我的 UID
.vagrant/machines/default/virtualbox/creator_uid

保存文件后,vagrant up 命令像冠军一样工作。

注意:该文件夹与您运行的 Vagrantfile 位于同一目录中.vagrantvagrant up

评论

70赞 Jeff Sheffield 9/5/2015
我发现自己处于同样的情况,我从 ubuntu 机器上沥青了一个 tarball。因此,只需删除在 ubuntu 中创建的目录也解决了该问题。rm -rf .vagrant
2赞 Nathan Basanese 12/1/2015
,哇,谢谢,@Fred!Stackoverflow 为我们提供了最好的服务,这种精确、难以从以前不得不处理它的人那里找到的解决方案。在基于 Unix 的机器上,我通常在哪里可以找到该文件夹?.vagrant
1赞 Fred 12/2/2015
不确定,@Nathan。您可以对 creator_uid 文件运行定位命令吗?尝试在命令行中“找到creator_uid”以查找要编辑的文件的路径。
4赞 Mr. Lance E Sloan 1/14/2016
就我而言,creator_uid包含“90210”,但我的 UID 是 502。我没有像这个解决方案建议的那样将文件中的 UID 更改为 0,而是将其更改为 502。效果很好。
5赞 Harish Reddy 2/10/2017
@NathanBasanese文件夹位于您运行的同一位置.vagrantvagrant up
37赞 Chris Cogdon 10/7/2015 #3

在略有不同的情况下遇到了这个问题。问题是“.vagrant”被签入到 git 存储库中,并且提交者在与我不相同的 UID 下运行。

解决方案:将 .vagrant 添加到 .gitignore。

评论

16赞 Marco Massenzio 11/14/2015
这就是我面临的问题;但是,简单地添加并不能解决问题 - YMMV,但也应该运行。.vagrant.gitignoregit rm -rf .vagrant
0赞 Chris Cogdon 11/18/2015
@marco:你说得很对。如果将“.vagrant”添加到存储库中,则之后将其添加到 .gitignore 为时已晚:)
8赞 Canje027 1/22/2016 #4

我尝试更改 .vagrant\machines\default\virtualbox\creator_uid 中的 id,这对我不起作用,但删除文件,creator_uid成功了。

8赞 ConorLuddy 2/16/2016 #5

我遇到了同样的问题,但就我而言,这是因为我跑了,当我后来回到它时,我已经忘记了。vagrant upsudo

愚蠢的错误,但我敢肯定这不是第一次有人:)

评论

1赞 Zac Blazic 4/11/2016
同样的问题在这里,忘了在.但不幸的是,错误消息并不能很好地说明这一点。sudo
1赞 Hondaman900 2/13/2021
同样在这里。使用但随后使用,这引发了不同的用户错误。忘了用,效果很好。sudo vagrant upvagrant sshsudo vagrnt ssh
1赞 vixadd 6/15/2016 #6

运行以下命令:

bash
sudo vagrant up
0赞 matschmann 1/25/2017 #7

在我买了一台新电脑后,我遇到了同样的问题。我没有从我的旧电脑上复制所有文件,而是不得不从 git 存储库中再次签出流浪项目。在那之后,工作正常。vagrant up

2赞 brandon 5/4/2017 #8

您可能运行了以下命令:sudo vagrant up

这意味着作为您的普通用户,您无法查看甚至删除文件夹和文件。/.vagrant

如果是这样,只需运行:sudo vagrant destroy -f

然后,您应该能够运行(作为您的普通用户帐户):vagrant up

4赞 Oleg Tokar 9/9/2017 #9

只需在此处更改用户 ID .vagrant/machines/default/virtualbox/creator_uid

0赞 Abdul Rahman A Samad 9/19/2017 #10

只是为了补充弗雷德 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赞 siva krishna 10/23/2017 #11

删除当前工作目录中 .vagrant 隐藏目录的内容,然后重新运行 vagrant up 命令。 错误,因为将 Vagranfile /s 从一个系统复制/备份到另一个系统。用户 ID 对流浪者的错误数学以调出环境。. 希望它有助于欢呼..!!:)) 如果您不想删除该文件夹,您可以在当前工作目录的隐藏目录中更新当前用户的 UID,即 .vagrant/machines/jenkins/virtualbox$ vim creator_uid

0赞 Rodrigo Justino da Costa 11/20/2018 #12

我遇到过同样的情况,但我有一个多机 Vagrantfile。

要用新的 (1000) 替换旧的 uid (1001),我使用了以下命令:

for i in $(find . -type f -iname "creator_uid" ) ; do echo 1000 > $i ; done
0赞 Luis Matos 12/9/2018 #13

我之前忘记了同样的问题,您只需要在流浪文件的文件夹中执行即可。sudovagrant upsudo vagrant up

0赞 vkrams 5/10/2020 #14

我有多机流浪汉文件。我已经检查了它,但它仍然无法加载。所以我删除了所有多机的文件,它起作用了。路径应为creator_uid0creator_uid.vagrant\machines\<machine_name>\virtualbox

0赞 Zarex Alvin Daria 10/30/2021 #15

我遇到了同样的问题,但这是因为我从 GitHub 存储库克隆了一个练习文件。我发现问题是存储库中包含的.vagrant文件。

对我有用的是删除 .vagrant 目录并重新运行vagrant up

-2赞 Garik 12/4/2021 #16

rm -rf .vagrant/machines/default/creator_uid

评论

1赞 Community 12/4/2021
您的答案可以通过其他支持信息进行改进。请编辑以添加更多详细信息,例如引文或文档,以便其他人可以确认您的答案是正确的。您可以在帮助中心找到有关如何写出好答案的更多信息。
1赞 abasar 11/17/2022 #17

我遇到了同样的问题。我在 Vagrantfile 所在的目录内删除了 .vagrant 目录。然后它奏效了。