我想将一个大项目(5000个文件)迁移到使用virtualbox的vagrant。 众所周知,Virtualbox共享文件夹对大项目来说很慢,所以我想使用NFS。
但是,我找不到使用NFS而不是默认共享文件夹问题的正确方法。当我将代码放在另一个文件夹中并共享它时,它可以工作。但我想将Vagrant整合到当前版本中。
config.vm.synced_folder '.', '/vagrant', nfs: true
不起作用:
exportfs: duplicated export entries:
exportfs: 10.11.12.13:/home/vincent/workspace/gp
exportfs: 10.11.12.13:/home/vincent/workspace/gp
有什么想法解决这个奇怪的问题吗?
谢谢。
更新1
与这些参数相同的错误
config.vm.synced_folder ".", "/vagrant", disabled: true
config.vm.synced_folder ".", "/home/vagrant/gp", nfs: true
这是完整的错误堆栈:
nfsd running
exportfs: duplicated export entries:
exportfs: 10.11.12.13:/home/vincent/workspace/gp
exportfs: 10.11.12.13:/home/vincent/workspace/gp
==> default: Mounting NFS shared folders...
Vagrant::Errors::LinuxNFSMountFailed: The following SSH command responded with a non-zero exit status.
Vagrant assumes that this means the command failed!
mount -o 'vers=3,udp' 10.11.12.1:'/home/vincent/workspace/gp' /home/vagrant/gp
Stdout from the command:
Stderr from the command:
stdin: is not a tty
mount.nfs: access denied by server while mounting 10.11.12.1:/home/vincent/workspace/gp
答案 0 :(得分:2)
您可能需要通过在Vagrantfile
中添加以下行来显式禁用默认的同步文件夹,以便将NFS共享挂载到/vagrant
config.vm.synced_folder“。”,“/ vagrant”,禁用:true
然后执行vagrant reload
并查看它是否有效。
此外,考虑使用rsync
类型的同步文件夹作为您的用例,我认为它的效果更好。见https://docs.vagrantup.com/v2/synced-folders/rsync.html
答案 1 :(得分:0)
如果您尝试在另一个先前创建的vm上方的目录中创建vm,也可以收到此错误消息。您需要销毁每个子目录中的vm。