我试图启动我的流浪机,所以我导航到我的vagrantfile所在的文件夹,然后使用:
流浪汉&&流浪汉ssh
但是我收到以下错误消息:
VirtualBox VM是使用与用户不匹配的用户创建的 当前用户正在运行Vagrant。 VirtualBox需要相同的用户 用于管理创建的VM。请重新运行Vagrant 那个用户。这不是一个流浪的问题。
用于创建VM的UID是:0您的UID是:501
我也尝试过sudo,但这也没用。
我需要切换UID吗?我该怎么做?
答案 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)
答案 6 :(得分:1)
您可以运行命令:sudo vagrant up
这意味着您的常规用户无法查看甚至删除/.vagrant
文件夹和文件。
如果是这样,只需运行:sudo vagrant destroy -f
然后您应该能够(作为普通用户帐户)运行:vagrant up
答案 7 :(得分:0)
运行以下命令:
bash
sudo vagrant up
答案 8 :(得分:0)
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