如何移动Vagrant环境?

问题描述 投票:0回答:1

“vagrant init:...通过创建一个初始的Vagrantfile来实现一个流浪的环境...”

我将该文件夹从E:/移动到C:/在Windows中,我在尝试做vagrant snapshot restore XXX时遇到了这个愚蠢的错误

==> default: Booting VM...
There was an error while executing `VBoxManage`, a CLI used by Vagrant
for controlling VirtualBox. The command and stderr is shown below.

Command: ["startvm", "7aff8d5d-7193-4f6d-966b-4076543c0e90", "--type", "headless"]

Stderr: VBoxManage.exe: error: RawFile#0 failed to create the raw output file E:/Proyectos/do-sf2-dev/ubuntu-xenial-16.04-cloudimg-console.log (VERR_PATH_NOT_FOUND)
VBoxManage.exe: error: Details: code E_FAIL (0x80004005), component ConsoleWrap, interface IConsole

据我所知,VirtualBox不断引用E:/驱动器。

我尝试手动编辑从E:/到C的任何引用:/我可以在该文件夹下找到,也可以在相关机器的VirtualBox GUI中找到但没有运气。

windows vagrant virtualbox vagrantfile
1个回答
1
投票

这个答案很晚,但希望能帮助下一个人遇到这个问题。该错误是因为计算机配置为输出到不再存在的位置。将Vagrant环境移动到另一个驱动器时,除了移动VM文件外,还需要更新一些Vagrant元数据。您可以使用vagrant up --debug查看错误所指的确切内容。

如果移动.vagrant.d目录,则需要将环境变量VAGRANT_HOME设置为新位置。在Windows上,您需要重新启动才能使其生效。如果这不起作用,请在您的vagrantfile中添加以下内容之一:

  • v.customize [ "modifyvm", :id, "--uartmode1", "disconnected" ] 这会禁用到缺少的日志文件的串行输出(ubuntu-xenial-16.04-cloudimg-console.log)

要么

  • v.customize [ "modifyvm", :id, "--uartmode1", "file", File.join(Dir.pwd, "ubuntu-xenial-16.04-cloudimg-console.log") ] 这会更新日志文件的路径以指向当前目录。

对于大多数流浪汉设置,这应该足够了,但是,在vagrant up成功运行之前,我还需要重新创建错误日志文件的路径。之后,我运行vagrant provision,并能够删除旧文件路径没有问题。

这些帖子也很有帮助(参考文献):

© www.soinside.com 2019 - 2024. All rights reserved.