流浪汉没有开始。创建VM的用户与当前用户不匹配

时间:2015-07-27 02:43:16

标签: vagrant virtual-machine virtualbox virtualenv

我试图启动我的流浪机,所以我导航到我的vagrantfile所在的文件夹,然后使用:

流浪汉&&流浪汉ssh

但是我收到以下错误消息:

  

VirtualBox VM是使用与用户不匹配的用户创建的   当前用户正在运行Vagrant。 VirtualBox需要相同的用户   用于管理创建的VM。请重新运行Vagrant   那个用户。这不是一个流浪的问题。

     

用于创建VM的UID是:0您的UID是:501

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

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

14 个答案:

答案 0 :(得分:234)

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

保存文件后,命令vagrant up就像一个冠军。

注意:.vagrant文件夹与Vagrantfile位于同一目录中,您运行的目的地为vagrant up

答案 1 :(得分:31)

在稍微不同的情况下遇到这个问题。问题是“.vagrant”被检入git repo,并且提交者在不同于我的UID下运行。

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

答案 2 :(得分:7)

我遇到了同样的问题,但在我的情况下,这是因为我在vagrant up下运行了sudo,当我稍后再回来时,我已经忘记了。

愚蠢的错误,但我确定它不是第一次发生某人:)

答案 3 :(得分:5)

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

答案 4 :(得分:3)

只需更改用户ID即可 .vagrant /设备/默认/的virtualbox / creator_uid

答案 5 :(得分:1)

根据VirtualBox User Manual

  

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

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

答案 6 :(得分:1)

您可以运行命令:sudo vagrant up

这意味着您的常规用户无法查看甚至删除/.vagrant文件夹和文件。

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

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

答案 7 :(得分:0)

运行以下命令:

bash
sudo vagrant up

答案 8 :(得分:0)

我得到一台新电脑后遇到了同样的问题。我不得不从旧计算机中复制所有文件,而是必须从git存储库中再次检查再次。在那之后,public loadIntervention( numFI : number ) : Promise<Intervention> { let reconnectionPromise = Promise.resolve(); // Default, already resolved, promise if ( ! this.Connected ) { // If you need to perform reconnection, assign to "reconnectionPromise" // the promise returned by "jQuery.connection.hub.reconnected" reconnectionPromise = jQuery.connection.hub.reconnected( () => { ???? } ); } // Always chain the reconnectionPromise then do "getIntervention" return reconnectionPromise.then(() => this.proxy.server.getIntervention( numFI ).toPromise()); } 工作正常。

答案 9 :(得分: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时,发生了这个错误。

答案 10 :(得分:0)

删除当前工作目录中.vagrant hidden dir的内容并重新运行vagrant up命令。 错误,因为Vagranfile / s从一个系统复制/备份到另一个系统。用户身份给Vagrant造成的环境误导 希望它有助于欢呼.. !! :)) 如果您不想删除该文件夹,您可以更新当前工作目录的隐藏目录中当前用户的uid,即.vagrant / machines / jenkins / virtualbox $ vim creator_uid

答案 11 :(得分:0)

我也遇到过同样的情况,但是我有一个multi-machine Vagrantfile。

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

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

答案 12 :(得分:0)

我遇到了忘记将sudo放在vagrant up之前的同样问题,您只需要在流浪者文件的文件夹中执行sudo vagrant up

答案 13 :(得分:0)

我有多机位流浪者文件。我已经检查过creator_uid,它是0,但仍然无法加载。因此,我为所有多机删除了creator_uid文件,并且该文件可以正常工作。路径应为.vagrant\machines\<machine_name>\virtualbox