Vagrant 手册之 Vagrantfile

原文地址

配置版本是 Vagrant 1.1+(引入了大量新功能和配置选项) 能够与 Vagrant 1.0.x Vagrantfiles 保持向后兼容的机制。

现在运行 vagrant init 时,Vagrantfile 将大致采用以下格式:

Vagrant.configure("2") do |config|
  # ...
end

上面示例中第一行的“2”代表配置对象 config 的版本,该配置将用于该块的配置(do 和 end 之间的部分)。这个对象在不同版本之间可能差异很大。

目前只支持两个版本:“1”和“2”。版本 1 代表 Vagrant 1.0.x 的配置。“2”代表 1.1+ 至 2.0.x 的配置。

加载 Vagrantfile 时,Vagrant 会为每个版本使用正确的配置对象,并正确合并它们,就跟其他配置一样。

普通用户只需要明白一点:在单个配置部分中,只能使用单个版本。不能在版本 1 配置部分中使用新的 config.vm.provider 配置。同样,config.vm.forward_port 在第 2 版配置部分中不起作用(它已重命名)。

如果你愿意,可以在同一个 Vagrantfile 中混合和匹配多个配置版本。如果你找到一些有用的配置片段或想要使用的内容时,非常有用。例:

Vagrant.configure("1") do |config|
  # v1 configs...
end

Vagrant.configure("2") do |config|
  # v2 configs...
end

什么是 Vagrant::Config.run?你可以在 Vagrantfiles 中看到这个。实际上,这就是在 Vagrant 1.0.x 如何配置的。在 Vagrant 1.1+ 中,这与 Vagrant.configure("1") 是同义的。

原文地址:https://www.cnblogs.com/kika/p/10851645.html