找不到config.vm.share_folder设置

时间:2013-09-11 23:07:10

标签: settings virtualbox vagrant

在流浪汉期间,我在Vagrantfile中使用此行收到此错误,直到我将其注释掉。

此处记录了设置:

http://docs-v1.vagrantup.com/v1/docs/config/vm/share_folder.html

不确定以下记录的参数导致错误的原因

config.vm.share_folder "puppetdir", "/etc/puppet", "/vagrant/mypuppetdir"

Bringing machine 'default' up with 'virtualbox' provider...
There are errors in the configuration of this machine. Please fix
the following errors and try again:

vm:
* The following settings don't exist: share_folder

最新的虚拟盒和最新的流浪汉。其他一切正常。

3 个答案:

答案 0 :(得分:3)

在Vagrant 1.1+上你应该使用config.vm.synced_folder,你正在查看的文档适用于旧版本。有关详细信息,请参阅更新的文档:http://docs.vagrantup.com/v2/synced-folders/basic_usage.html

答案 1 :(得分:1)

自1.1以来,

共享文件夹已重命名为Synded Folder。

Vagrantfile中,您应该使用以下

  config.vm.synced_folder "../data", "/vagrant_data"

  # by default enabled, uncomment to disable
  # config.vm.synced_folder ".", "/vagrant", disabled: true
  

注意:默认情况下,Vagrant会将您的项目目录(Vagrantfile所在的目录)与/vagrant共享。

  config.vm.synced_folder ".", "/vagrant", disabled: true

更灵活的例子

  vagrant_data = File.expand_path("../vagrant_data", __FILE__)
  Dir::mkdir(vagrant_data) unless FileTest::directory?(vagrant_data)
  config.vm.synced_folder "vagrant_data", "/vagrant_data"

请查看此内容以获取更多信息=> shared folders VS synced folders

答案 2 :(得分:0)

https://github.com/mitchellh/vagrant/issues/936#issuecomment-7179034

延伸

如果您需要以vm启动时不存在的用户身份安装卷,您可以这样安装:

# Vagrantfile line

config.vm.synced_folder "host_folder", "/svr/fake_mount_folder", id: "whatever_name"
# ...
config.vm.provision "shell", inline: <<-SHELL
  # ...
  # In my case a package installed a user with UID 110, GID 116
  mount -t vboxsf -o uid=110,gid=116 whatever_name /media/actual_mounted_folder
  # ...
SHELL