如何使用VirtualBox在Vagrant中启用双向文件夹同步?

如何使用VirtualBox在Vagrant中启用双向文件夹同步?,vagrant,virtualbox,Vagrant,Virtualbox,我已经有一段时间没有在Linux上使用Vagrant了。当我开始使用新版本(Vagrant 1.8)时,我面临一个问题:在来宾VM中创建的文件没有出现在主机的同步文件夹中 如何强制Vagrant将文件从来宾操作系统同步到主机操作系统?根据文档,当Vagrant文件中的typeoptionconfig.vm.synced_folder参数未指定时,Vagrant尝试选择最佳可用选项: 类型(字符串)-同步文件夹的类型。如果未指定此选项,Vagrant将自动为您的环境选择最佳同步文件夹选项。否则,您

我已经有一段时间没有在Linux上使用Vagrant了。当我开始使用新版本(Vagrant 1.8)时,我面临一个问题:在来宾VM中创建的文件没有出现在主机的同步文件夹中


如何强制Vagrant将文件从来宾操作系统同步到主机操作系统?

根据文档,当Vagrant文件中的
type
option
config.vm.synced_folder
参数未指定时,Vagrant尝试选择最佳可用选项:

类型
(字符串)-同步文件夹的类型。如果未指定此选项,Vagrant将自动为您的环境选择最佳同步文件夹选项。否则,您可以指定特定类型,例如“nfs”

从版本1.5开始,新的“rsync同步文件夹”功能

所以在我的例子中,类型
rsync
是自动选择的,这是单向同步:从主机到客户机

要使文件夹双向同步,我在文件中添加了显式定义:

config.vm.synced_folder ".", "/vagrant", type: "virtualbox"
当然,这只适用于VirtualBox

双向同步对于工作流非常有用,在工作流中,应用程序可以在来宾计算机上创建文件,例如,现代web框架中的数据库迁移文件


注意:当您的项目有大量文件时,virtualbox同步文件夹已经知道性能问题。

谢谢您的帮助,这正是我过去几天一直在寻找的!!!!!我和拉维尔5号,宅地和流浪汉有过这样的问题。有很多答案,但没有一个对我有用。我的yaml文件的文件夹部分也有rsync,我也必须删除它。在这两次更改之后,主机和客户端之间的文件共享最终实现了同步

require File.expand_path(File.dirname(__FILE__) + '/scripts/homestead.rb')
config.vm.synced_文件夹“,”/vagrant”,键入:“virtualbox”

configure(Vagrant文件API版本)do | config|


这里是我对我的Vagranfile进行更改的地方。

重新安装后,您可能会收到以下创建共享文件夹的错误:
Vagrant无法装载VirtualBox共享文件夹。这通常是因为文件系统“vboxsf”不可用。该文件系统通过VirtualBox来宾添加和内核模块提供。请验证这些来宾添加项是否已正确安装在来宾中。这不是Vagrant中的错误,通常是由错误的Vagrant框引起的。
Install Guest Additions
Vagrant plugin Install Vagrant vbguest
@Alex:这对我不起作用。我明白了:“无法解决依赖关系:用户请求的‘vagrant hostmanager(=1.8.6)’”@Alexendren在2018年,您可以使用vagrant vbguest插件,该插件会自动在来宾系统上安装主机的VirtualBox来宾添加。通过
vagrant插件安装vagrant vbguest
如果它对任何人都有帮助,请在我的CentOS 7 vagrant box上,我必须
vagrant ssh
进入框中,运行
sudo yum-y update
,然后关闭ssh会话并运行
vagrant reload
,以便在这起作用之前解决某种内核头问题。这对我来说不是一个问题,上次我开发了一个新的虚拟机(~2018年年中),但现在需要获得双向同步目录才能与vagrant和centos7一起使用