我正在尝试在Windows机器上使用Virtual Box + Vagrant + Rails Dev Box。我可以运行
然而,我注意到Vagrantfile(同步文件夹位置)所做的一个更改仍在持续。此外,如果我使用
当我打开VirtualBox Manager时,我可以看到已创建了许多rails-dev-box VM实例。
我在Vagrant Github issues 上发现了一个类似于这样的问题,但说实话,讨论内容完全超出了我的理解范围,即使该线程已关闭,我也无法理解解决方法。如果有人知道是什么原因并能用“新手”术语解释一下,或者如果我的问题太难以理解,能够引导我执行下一步调试操作,我将不胜感激!
编辑:在写出这篇文章并仔细思考后,我意识到问题实际上并不是“更改没有被保存”。它们被保存了……但每次运行
vagrant up
和vagrant ssh
进入虚拟机,但是我所做的更改都未被保存,例如安装rails。每次我停止Vagrant并重新开始时,就像我第一次加载它一样。该过程通过所有步骤,使第一个vagrant up
。然而,我注意到Vagrantfile(同步文件夹位置)所做的一个更改仍在持续。此外,如果我使用
vagrant reload
,更改似乎会持久存在。因此,看起来只有在我使用vagrant halt
或vagrant suspend
后跟vagrant up
时才会出现问题。但我没有印象vagrant halt
(特别是不是vagrant suspend
)应该销毁VM。当我打开VirtualBox Manager时,我可以看到已创建了许多rails-dev-box VM实例。
我在Vagrant Github issues 上发现了一个类似于这样的问题,但说实话,讨论内容完全超出了我的理解范围,即使该线程已关闭,我也无法理解解决方法。如果有人知道是什么原因并能用“新手”术语解释一下,或者如果我的问题太难以理解,能够引导我执行下一步调试操作,我将不胜感激!
编辑:在写出这篇文章并仔细思考后,我意识到问题实际上并不是“更改没有被保存”。它们被保存了……但每次运行
vagrant up
时,我都会进入一个全新的虚拟机。
vagrant resume
只有在之前使用了vagrant suspend
才能正常工作。我想解决这个问题的“变通方法”是永远不要使用vagrant halt
+vagrant up
,而是始终使用vagrant suspend
+vagrant resume
。但这并不能真正解决问题。vagrant up
本来就不应该每次都创建一个新的虚拟机。 - sixty4bit