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.
这个问题可以轻松地通过 brute-force 方法解决,即使用命令
rm -rf .vagrant
,但我想找到更加优雅的解决方法——例如一种便捷的自动化方式,将.vagrant
文件放在其他地方。更新:
以下是场景:共用一个工作目录,通过 Dropbox 在办公室和家里的机器之间共享。
- 我在办公室的机器上执行了
vagrant up
命令,成功启动虚拟机。 - 我关掉了办公室的机器并回家了。
- 当我再次执行
vagrant up
命令时,出现了错误提示,说id
的值与创建时不同(通常情况下是 503 和 501)。 - 我执行
rm -rf .vagrant
命令,然后再次执行vagrant up
命令,成功启动虚拟机。 - 当我回到办公室时,遇到了同样的问题。
vagrant up
时吗?所以要明确一下,你的.vagrant
目录在Dropbox中,但虚拟机不在其中?你的虚拟机也在Dropbox中吗?VirtualBox的问题在于VM位于一个中央文件夹中(例如,对于Mac,是/Users/user/Documents/Virtual Machines
)(例如,VMware将VM存储在.vagrant
目录中,这比备份项目容易,但另一个故事),因此可能不是工作目录的一部分,然后你的两台机器中的每一台都创建了自己的VM,并具有自己的ID,因此当你切换机器时会出现问题。 - Frederic Henrivagrant up
时会出现这种情况。请参见上面的内容。 - Charlie Martin.vagrant
目录-它们具有不同的机器ID是可以接受的,因为您的配置脚本应确保构建相同的盒子。 - Brian Brownton