You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mac系统下如何实现宿主机与Vagrant虚拟机的文件传输

Vagrant 宿主机与虚拟机文件同步失效解决方案

首先纠正认知误区

Vagrant 默认同步文件夹映射规则为:宿主机存放Vagrantfile的目录,默认挂载到虚拟机的 /vagrant 路径下,而非 /home/vagrant 路径,你当前的问题大概率是搞错了同步目录的映射路径。

验证&快速适配方案

  1. 执行 vagrant ssh 进入虚拟机后,直接运行 ls /vagrant 命令,查看返回内容中是否包含Vagrantfile:
    • 能找到Vagrantfile说明同步功能本身正常,后续文件交换直接按以下规则操作即可:
      • 宿主机需要共享的文件直接放到Vagrantfile同级目录
      • 虚拟机侧读取/写入共享文件统一操作 /vagrant 路径下的内容
    • 如果你坚持要将 /home/vagrant 作为同步目录,可修改Vagrantfile,添加如下配置:
      config.vm.synced_folder ".", "/home/vagrant"
      
      保存后执行 vagrant reload 重启虚拟机即可生效。

若 /vagrant 路径为空,排查同步功能故障

按以下优先级排查:

  • 检查Vagrantfile中是否存在禁用默认同步目录的配置,如有直接删除:
    config.vm.synced_folder ".", "/vagrant", disabled: true
    
  • 确认你执行 vagrant up 命令的工作目录,就是Vagrantfile所在的目录,路径错误会导致同步目录映射异常
  • 如果你使用VirtualBox作为虚拟化Provider,90%的同步失败是因为VirtualBox Guest Additions版本不匹配:
    执行 vagrant plugin install vagrant-vbguest 安装自动适配插件,再执行 vagrant reload 重启虚拟机,插件会自动安装匹配版本的Guest Additions
  • macOS宿主机可到「系统设置→隐私与安全性→文件和文件夹」中,确认VirtualBox、Terminal/iTerm2拥有Vagrantfile所在目录的访问权限;Windows宿主机确认Vagrantfile所在目录未开启只读限制,当前用户拥有读写权限。

功能验证

配置生效后可按以下方式验证:

  • 宿主机Vagrantfile同级目录新建test.txt,虚拟机执行 ls /vagrant 可看到该文件
  • 虚拟机执行 touch /vagrant/vm_test.txt,宿主机Vagrantfile同级目录可看到该文件,说明同步功能正常。

内容的提问来源于stack exchange,提问作者punsoca

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 22:06:02