Laravel Homestead的Vagrantfile:$ confDir应该设置在哪里?

时间:2015-08-01 12:26:02

标签: ruby laravel vagrant homestead

我解剖了Laravel Homestead的配置。在Vagrantfile中有以下行:

confDir = $confDir ||= File.expand_path("vendor/laravel/homestead")
在该行之前没有提到

$confDir。它的价值是零,我想知道什么会给它一个价值?来自CLI的东西?

1 个答案:

答案 0 :(得分:4)

Vagrantfile只是一个ruby脚本。在ruby中,美元符号变量是一个全局变量。

现在,仅仅看着家园Vagrantfile时,这仍然没有多大意义。但是,这可能不是唯一使用的Vagrant文​​件。如流浪文档here中所述,在“LOAD ORDER AND MERGING”下,Vagrantfiles按以下顺序加载:

  1. Vagrantfile与用于给定计算机的盒子一起打包。
  2. Vagrant主目录中的Vagrantfile(默认为〜/ .vagrant.d)。
  3. 项目目录中的Vagrantfile。
  4. 多机覆盖(如果有)。
  5. 特定于提供商的覆盖(如果有)。
  6. 宅基Vagrantfile是在步骤3中加载的文件。如果在步骤1或2中有Vagrantfile设置$confDir变量,那么homestead Vagrantfile将选择该文件并使用它。