我想创建一个通用开发Vagrant环境,我可以从我的系统上的任何地方登录到vagrant up
。 I know,Vagrant搜索以CWD开头的Vagrantfile
,然后在每个父目录中搜索。我也知道设置VAGRANT_CWD
环境变量可以让你告诉流浪者开始搜索给定的目录。添加到Vagrant路径的末尾
所以,我可以这样做:export VAGRANT_CWD=~/.dotfiles/vdevbox
,其中vdevbox
包含Vagrantfile
和其他相关的东西为我的开发环境。这使我可以从任何地方到vagrant up
,但它优先于我的CWD中的Vagrantfiles,这使得无法使用其他Vagrant环境(显然是失败)。
所以,基本上我需要Bash的PATH=$PATH:~/some/path
的流浪者等值。这是支持的,还是有更好的方法来满足这种用例?
编辑解决@ arturhoo的回答
以上链接的同一帮助页提到通过~/.vagrant.d/Vagrantfile
合并设置。我认为,这是一个不同于Vagrant搜索的Vagrantfile的目录启动一个env。我认为它严格限制为合并设置和流浪者必须另外通过上述搜索方法找到Vagrantfile
。我试了一下,结果似乎支持我的假设。
[~/.vagrant.d]$ ls -rc | tail -n 2
Vagrantfile
bootstrap.sh
[~/test]$ ls
[~/test]$ vagrant up
# Error message about missing Vagrantfile
我看到了这一点,并尝试过它。我认为这适用于合并设置,但它不同于搜索路径查找一个Vagrantfile到加载过程。长话短说:它在实践中不起作用(或者你看到它的工作?)。我会在我的问题中添加一个注释。 – dfarrell07 2014-09-12 19:54:45