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

时间:2015-12-24 07:06:02

标签: vagrant virtualbox

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

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

2 个答案:

答案 0 :(得分:13)

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

  

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

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

所以在我的情况下,自动选择类型rsync,这是单向同步:从主机到访客。

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

config.vm.synced_folder ".", "/vagrant", type: "virtualbox"

当然,这只适用于VirtualBox。

双向同步对于工作流很有用,其中客户机上的应用程序创建文件,例如,现代Web框架中的数据库迁移文件。

注意:当项目包含大量文件时,virtualbox同步文件夹会出现已知的性能问题。

答案 1 :(得分:0)

谢谢你,这正是我过去几天所寻找的!!!!!我和Laravel 5,宅基地和流浪汉有这个问题。许多答案在那里,但没有一个对我有用。我的yaml文件的文件夹部分也有rsync,我也必须删除。在这两个更改之后,文件共享最终在主机和客户端之间同步。

require File.expand_path(File.dirname(__FILE__) + '/scripts/homestead.rb')

config.vm.synced_folder"。"," / vagrant",输入:" virtualbox"

Vagrant.configure(VAGRANTFILE_API_VERSION)do | config |

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