【问题标题】:Vagrant: can't get NFS workingVagrant:无法让 NFS 工作
【发布时间】:2014-07-21 23:58:36
【问题描述】:

我正在尝试更改我的 VagrantFile,以便它使用 NFS 挂载而不是默认的 VirtualBox 共享文件夹。

我收到此错误消息:

vm:
* Shared folders that have NFS enabled do not support owner/group
attributes. Host path: .

这是我的 VagrantFile:

VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| 
  config.vm.box = "ktbartholomew/lamp"
  config.vm.network "private_network", type: "dhcp"
  config.vm.synced_folder ".", "/vagrant", type: "nfs"
end

我看不到任何所有者或组正在设置。

请帮忙! 谢谢

【问题讨论】:

  • 您是否尝试过使用“.”以外的其他内容源文件夹从主机挂载?看来这可能是你的问题。尝试用完整路径定义它。就像'/home/user/project' 或者你的路径是什么。你的语句的其余部分看起来就像我目前使用的一样。
  • 我刚刚更改了它,不幸的是同样的问题,虽然现在错误消息是“*启用 NFS 的共享文件夹不支持所有者/组属性。主机路径:/Users/jamesplayer/Sites/”

标签: vagrant virtualbox nfs vagrantfile


【解决方案1】:

我发现直接映射 uid/gid 可以正常工作。 vagrant 方面有点奇怪,因为他们是任意用户/组,但除此之外它很好。

Vagrant.configure("2") do |config|
  # ...
  config.nfs.map_uid = Process.uid
  config.nfs.map_gid = Process.gid
  config.vm.synced_folder ".",  "/vagrant", id: "vagrant-root", :nfs => true
  config.vm.synced_folder "..", "/var/www", id: "application",  :nfs => true
end

【讨论】:

    【解决方案2】:

    Vagrant 仅在所有者或组为 true 时引发此错误。尝试通过为两个 synced_folder 配置的这两个选项传递 nil 来强制它。

    , group: nil, owner: nil

    代码如下: https://github.com/mitchellh/vagrant/blob/8655d212c327d363f8e80185705ff70bb2e97f6b/plugins/kernel_v2/config/vm.rb#L572

    【讨论】:

    • 谢谢!这就是我最终的 VagrantFile 最终的样子: VAGRANTFILE_API_VERSION = "2" Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| config.vm.box = "ktbartholomew/lamp" config.vm.network :private_network, ip: "10.11.12.13" config.vm.synced_folder "/Users/jamesplayer/Sites/", "/vagrant", 输入: "nfs ",组:无,所有者:无结束
    • 基本不使用group、owner、mount_options作为属性
    • Vagrant 仅在所有者或组 为真(并且设置了 nfs)时引发此错误
    • 感谢 Lotus,修正了措辞。
    猜你喜欢
    • 2014-12-29
    • 1970-01-01
    • 2015-10-26
    • 2015-04-02
    • 1970-01-01
    • 2020-02-23
    • 2014-12-26
    • 2017-12-22
    • 2012-02-28
    相关资源
    最近更新 更多