我需要创建一个简单的脚本(Windows .bat)来配置或打开一个盒子。
对.bat文件没什么经验,所以这是我到目前为止所做的:
感谢Greg Hewgill
cd C:\vagrant-box\
call vagrant-up.bat
if errorlevel 1 call vagrant-provision.bat
脚本中的.bat文件call
只包含一行:vagrant up
和vagrant reload
。
当流浪盒倒塌时,流浪者成功运行。启动时,我遇到了vagrant up(我期望)的错误,但整个批处理文件在那里死亡。 ErrorLevel
似乎没有做任何事情。
如果有所不同,则出现错误
Bringing machine 'default' up with 'virtualbox' provider...
There was an error while executing `VBoxManage`, a CLI used by Vagrant
for controlling VirtualBox. The command and stderr is shown below.
Command: ["list", "hostonlyifs"]
Stderr: VBoxManage.exe: error: Failed to create the VirtualBox object!
VBoxManage.exe: error: Code CO_E_SERVER_EXEC_FAILURE (0x80080005) - Server execution failed (extend)
VBoxManage.exe: error: Most likely, the VirtualBox COM server is not running or failed to start.
我想强调我不关心错误本身。当盒子没有运行时它可以工作,所以没关系。我只想捕获或忽略它,然后转到下一个命令。
答案 0 :(得分:2)
vagrant up
退出时代码为0,即使机器已在运行。
但是你不必费心去掉退出代码,你可以运行:
vagrant provision && vagrant up
你应该涵盖这两种情况。如果访客未运行,vagrant provision
将正常失败,vagrant up
将成功,反之亦然。
答案 1 :(得分:1)
请发布你的vagrant-up.bat。
另外,试试这个:
vagrant up --debug
和/或
VAGRANT_LOG=debug vagrant <action>
更多关于COM / VBox问题的细节。