Vagrant共享文件夹无法工作/同步、文件不互通问题求助
问题根因
- VirtualBox Guest Additions版本不兼容:启动日志明确提示虚拟机内Guest Additions版本为5.2.6,宿主机VirtualBox版本为6.1,版本 mismatch 导致vboxsf类型的共享文件夹挂载失败,本该挂载到
/vagrant的共享目录不存在 - 操作路径错误:你在虚拟机内进入的是
/home/vagrant(vagrant用户的个人家目录),并非共享文件夹挂载点/vagrant,因此在该路径下创建的文件仅存储在虚拟机本地磁盘,不会同步到宿主机 - 补充说明:vagrant是宿主机端的管理工具,默认不会安装在虚拟机内部,因此在虚拟机内执行
vagrant rsync-auto等命令必然报错。
解决步骤
- 安装适配版本的Guest Additions
- 首先在宿主机当前Vagrant项目目录执行
vagrant halt关闭虚拟机 - 安装vagrant-vbguest插件自动管理Guest Additions版本,执行命令:
vagrant plugin install vagrant-vbguest - 执行
vagrant up重启虚拟机,插件会自动卸载虚拟机内旧版本的Guest Additions,安装和宿主机VirtualBox版本匹配的新版
- 首先在宿主机当前Vagrant项目目录执行
- 验证共享文件夹挂载
- 虚拟机启动完成后执行
vagrant ssh进入虚拟机 - 执行
ls /vagrant,如果能看到Vagrantfile文件,说明挂载成功 - 此时在
/vagrant目录下创建的文件就会自动同步到宿主机的对应目录
- 虚拟机启动完成后执行
- 可选修复宿主机ls命令报错
宿主机出现的libselinux.so.1: no version information available报错是系统依赖异常,可执行sudo apt update && sudo apt install --reinstall libselinux1修复(针对Debian/Ubuntu系发行版)。
内容的提问来源于stack exchange,提问作者MustSee
相关产品推荐
相关产品推荐

