更新 Vagrant Box?

46

我更新了一个盒子vagrant box update,但现在运行vagrant up时,它仍然启动旧版本的盒子。如何更新盒子以使用更新的版本?

2个回答

61

来自 Vagrant 文档

最后,您可以使用 vagrant box update 来更新盒子。这将下载并安装新的盒子,但不会自动更新正在运行的 Vagrant 环境。如果 Vagrant 环境已经在运行,则必须销毁并重新创建该环境以获取盒子中的新更新。更新命令只是在本地下载这些更新。


17
所以我需要运行 vagrant destroy 然后再运行 vagrant up - Steven
1
"vagrant reload" 相当于先运行 "halt" 命令,然后再运行 "up" 命令。 - Joe
21
重新加载无法解决问题,你需要销毁。 - Joel
1
当我已经有一个正在运行的虚拟机时,我可以同时运行vagrant box update吗? - giovannipds
3
我需要运行 vagrant box remove laravel/homestead --box-version 1.1.0,这样才能运行 4.0 版本,然后才能运行 vagrant up - Ryan
显示剩余3条评论

0

vagrant box update之后,系统将至少有两个虚拟机。您可以使用vagrant box list查看已下载的内容。

要删除旧的虚拟机并使用新的虚拟机,您可以执行vagrant box remove laravel/homestead --box-version x.y.z(如@Ryan所说),或者发出vagrant box prune命令。

您将会收到以下提示:

删除该虚拟机可能会破坏环境。我们建议先销毁这些环境:

homestead (ID: [...一些字符串...])

您确定要删除此虚拟机吗?[y/N]

销毁虚拟机将删除所有数据库和其他更改,因此请确保您已备份了这些内容。您的代码目录位于您的“真实”计算机上,因此是安全的。(提示:创建一个cron job以将数据库备份到您的代码目录,或使用Homestead在销毁时自动备份数据库

实际上,我很少需要销毁一个虚拟机,所以在移除旧的虚拟机后,可以执行vagrant upvagrant reload --provision命令,然后继续工作。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接