Vagrant Windows synced_文件夹-无此类文件或目录

Vagrant Windows synced_文件夹-无此类文件或目录,vagrant,nfs,vagrantfile,vagrant-windows,Vagrant,Nfs,Vagrantfile,Vagrant Windows,我最初认为,vagrant winnfsd插件将负责Windows上的NFS存储(这意味着我不必使用haneWIN),但这是不可能的,因为我收到的错误是mount.NFS:请求的NFS版本或传输协议不受支持 重新激活haneWIN后,我现在收到以下错误:mount.nfs:mounting 172.28.128.1:/D/git repositories/+vm失败,服务器给出的原因是:没有此类文件或目录 我得到的印象是[URL]:[mount]格式不正确,因为在另一个VM上,我在fstab中手

我最初认为,
vagrant winnfsd
插件将负责Windows上的NFS存储(这意味着我不必使用haneWIN),但这是不可能的,因为我收到的错误是
mount.NFS:请求的NFS版本或传输协议不受支持

重新激活haneWIN后,我现在收到以下错误:
mount.nfs:mounting 172.28.128.1:/D/git repositories/+vm失败,服务器给出的原因是:没有此类文件或目录

我得到的印象是[URL]:[mount]格式不正确,因为在另一个VM上,我在fstab中手动设置了我的挂载,并使用以下内容:
192.168.11.2:/websites/home/vagrant/rails nfsvers=3,vers=3,rsize=8192,wsize=8192,timeo=14,auto,intr,udp,nolock,exec,rw,user

鉴于以下配置,Vagrant的尝试是否应该看起来不像
172.28.128.1:/websites


主机操作系统:Windows 7 x64,局域网IP:192.168.11.2
来宾操作系统:Ubuntu/trusty64
虚拟化器:Virtualbox 5.0.20 r106931
相关插件:流浪汉winnfsd
主机操作系统NFS服务器:haneWIN NFS服务器

NFS服务器导出:
D:\git存储库\+vm-名称:网站


流浪汉档案摘录:

# Create a private network, which allows host-only access to the machine
# using a specific IP.
config.vm.network :private_network, type: :dhcp, auto_config: false

# Create a public network, which generally matched to bridged network.
# Bridged networks make the machine appear as another physical device on
# your network.
config.vm.network :public_network,
                  ip: '192.168.11.14',
                  bridge: 'Realtek PCIe GBE Family Controller'

# Share an additional folder to the guest VM. The first argument is
# the path on the host to the actual folder. The second argument is
# the path on the guest to mount the folder. And the optional third
# argument is a set of non-required options.
#
# Do not share root directory of vagrant
config.vm.synced_folder '.', '/vagrant', disabled: true
# Share ruby repository directories
config.vm.synced_folder 'D:/git-repositories/+vm',
                        '/home/vagrant/apps',
                        nfs: true,
                        mount_options: [
                          'nfsvers=3',
                          'vers=3',
                          'actimeo=1',
                          'rsize=8192',
                          'wsize=8192',
                          'timeo=14',
                          :nolock,
                          :udp,
                          :intr,
                          :user,
                          :auto,
                          :exec,
                          :rw
                        ]
# Create a private network, which allows host-only access to the machine
# using a specific IP.
config.vm.network :private_network, type: :dhcp, auto_config: false

# Create a public network, which generally matched to bridged network.
# Bridged networks make the machine appear as another physical device on
# your network.
config.vm.network :public_network,
                  ip: '192.168.11.14',
                  bridge: 'Realtek PCIe GBE Family Controller'

# Share an additional folder to the guest VM. The first argument is
# the path on the host to the actual folder. The second argument is
# the path on the guest to mount the folder. And the optional third
# argument is a set of non-required options.
#
# Share ruby repository directories
config.vm.synced_folder '.',
                        '/home/vagrant/apps',
                        nfs: true,
                        mount_options: [
                          'nfsvers=3',
                          'vers=3',
                          'actimeo=1',
                          'rsize=8192',
                          'wsize=8192',
                          'timeo=14',
                          :nolock,
                          :udp,
                          :intr,
                          :user,
                          :auto,
                          :exec,
                          :rw
                        ]

我的怀疑是正确的
vagrant winnfsd
不允许您显式设置IP地址后的路径-它始终包含前面的驱动器号。我的解决方案是将haneWIN NFS服务器导出名称设置为与Vagrant文件使用的驱动器号匹配

请记住,Vagrantfile位于驱动器号
I:\

NFS服务器导出:
D:\git存储库\+vm-名称:I

流浪汉档案摘录:

# Create a private network, which allows host-only access to the machine
# using a specific IP.
config.vm.network :private_network, type: :dhcp, auto_config: false

# Create a public network, which generally matched to bridged network.
# Bridged networks make the machine appear as another physical device on
# your network.
config.vm.network :public_network,
                  ip: '192.168.11.14',
                  bridge: 'Realtek PCIe GBE Family Controller'

# Share an additional folder to the guest VM. The first argument is
# the path on the host to the actual folder. The second argument is
# the path on the guest to mount the folder. And the optional third
# argument is a set of non-required options.
#
# Do not share root directory of vagrant
config.vm.synced_folder '.', '/vagrant', disabled: true
# Share ruby repository directories
config.vm.synced_folder 'D:/git-repositories/+vm',
                        '/home/vagrant/apps',
                        nfs: true,
                        mount_options: [
                          'nfsvers=3',
                          'vers=3',
                          'actimeo=1',
                          'rsize=8192',
                          'wsize=8192',
                          'timeo=14',
                          :nolock,
                          :udp,
                          :intr,
                          :user,
                          :auto,
                          :exec,
                          :rw
                        ]
# Create a private network, which allows host-only access to the machine
# using a specific IP.
config.vm.network :private_network, type: :dhcp, auto_config: false

# Create a public network, which generally matched to bridged network.
# Bridged networks make the machine appear as another physical device on
# your network.
config.vm.network :public_network,
                  ip: '192.168.11.14',
                  bridge: 'Realtek PCIe GBE Family Controller'

# Share an additional folder to the guest VM. The first argument is
# the path on the host to the actual folder. The second argument is
# the path on the guest to mount the folder. And the optional third
# argument is a set of non-required options.
#
# Share ruby repository directories
config.vm.synced_folder '.',
                        '/home/vagrant/apps',
                        nfs: true,
                        mount_options: [
                          'nfsvers=3',
                          'vers=3',
                          'actimeo=1',
                          'rsize=8192',
                          'wsize=8192',
                          'timeo=14',
                          :nolock,
                          :udp,
                          :intr,
                          :user,
                          :auto,
                          :exec,
                          :rw
                        ]
最终的问题是,这些事实中的任何一个都不能很好地配合另一个:

1) haneWIN的导出不能使用正斜杠,winnfsd使用正斜杠

2) winnfsd总是将驱动器号放在指定的路径前面(可能是因为它正在检查本地文件系统上是否存在该路径)

我的怀疑是正确的
vagrant winnfsd
不允许您显式设置IP地址后的路径-它始终包含前面的驱动器号。我的解决方案是将haneWIN NFS服务器导出名称设置为与Vagrant文件使用的驱动器号匹配

请记住,Vagrantfile位于驱动器号
I:\

NFS服务器导出:
D:\git存储库\+vm-名称:I

流浪汉档案摘录:

# Create a private network, which allows host-only access to the machine
# using a specific IP.
config.vm.network :private_network, type: :dhcp, auto_config: false

# Create a public network, which generally matched to bridged network.
# Bridged networks make the machine appear as another physical device on
# your network.
config.vm.network :public_network,
                  ip: '192.168.11.14',
                  bridge: 'Realtek PCIe GBE Family Controller'

# Share an additional folder to the guest VM. The first argument is
# the path on the host to the actual folder. The second argument is
# the path on the guest to mount the folder. And the optional third
# argument is a set of non-required options.
#
# Do not share root directory of vagrant
config.vm.synced_folder '.', '/vagrant', disabled: true
# Share ruby repository directories
config.vm.synced_folder 'D:/git-repositories/+vm',
                        '/home/vagrant/apps',
                        nfs: true,
                        mount_options: [
                          'nfsvers=3',
                          'vers=3',
                          'actimeo=1',
                          'rsize=8192',
                          'wsize=8192',
                          'timeo=14',
                          :nolock,
                          :udp,
                          :intr,
                          :user,
                          :auto,
                          :exec,
                          :rw
                        ]
# Create a private network, which allows host-only access to the machine
# using a specific IP.
config.vm.network :private_network, type: :dhcp, auto_config: false

# Create a public network, which generally matched to bridged network.
# Bridged networks make the machine appear as another physical device on
# your network.
config.vm.network :public_network,
                  ip: '192.168.11.14',
                  bridge: 'Realtek PCIe GBE Family Controller'

# Share an additional folder to the guest VM. The first argument is
# the path on the host to the actual folder. The second argument is
# the path on the guest to mount the folder. And the optional third
# argument is a set of non-required options.
#
# Share ruby repository directories
config.vm.synced_folder '.',
                        '/home/vagrant/apps',
                        nfs: true,
                        mount_options: [
                          'nfsvers=3',
                          'vers=3',
                          'actimeo=1',
                          'rsize=8192',
                          'wsize=8192',
                          'timeo=14',
                          :nolock,
                          :udp,
                          :intr,
                          :user,
                          :auto,
                          :exec,
                          :rw
                        ]
最终的问题是,这些事实中的任何一个都不能很好地配合另一个:

1) haneWIN的导出不能使用正斜杠,winnfsd使用正斜杠
2) winnfsd总是将驱动器号放在指定的路径前面(可能是因为它正在检查本地文件系统上是否存在该路径)