1

在 vagrant up 期间,我的 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

最新的 virtualbox 和最新的 vagrant。其他一切正常。

4

3 回答 3

3

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

于 2013-09-11T23:42:17.473 回答
1

自 1.1 起,共享文件夹已重命名为 Synded 文件夹。

在你的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"

看看这个以获取更多信息 =>共享文件夹 VS 同步文件夹

于 2013-09-12T04:55:13.503 回答
0

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

如果您需要以虚拟机启动时不存在的用户身份安装卷,您可以像这样到达那里:

# 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
于 2016-08-25T05:03:40.630 回答