在全球范围内使用 homestead,使用特定的 homestead 和 vagrant 文件夹

using homestead globally, with specific homestead and vagrant folder

我想在全球范围内使用 homestead,但我不希望我的“.homestead”目录位于 C:\Users\patri\.homestead

我希望它位于 D:\vbox\.homestead

此外,当 运行 homestead up 时,我希望 homestead 寻找已在那里下载的盒子:D:\vbox.vagrant.d\boxes 因为我已经有很多盒子了,homestead会重新下载相同的盒子,并添加到C:\Users\patri\.homestead

下的“.vagrant”文件夹中

这可能吗?

我在 windows 10.

我没有执行 composer global require "laravel/homestead=~2.0",而是使用 git 安装:git clone https://github.com/laravel/homestead.git.

然后,在 homestead/vendor/bin 里面,我有一个 homestead.bat :

@echo off

set cwd=%cd%
set homesteadVagrant=D:\htdocs\laracasts\Homestead

cd /d %homesteadVagrant% && vagrant %*
cd /d %cwd%

set cwd=
set homesteadVagrant=

然后我将 homestead/vendor/bin 添加到我的路径中。

现在我可以在任何地方使用 homestead

对于vagrant,VAGRANT_HOME环境变量设置为D:\vbox.vagrant.d

编辑: homestead.bat 只是在全局范围内使用 vagrant。 所以你不会有编辑选项。 要拥有它,您可以这样做:

@echo off

set cwd=%cd%
set homesteadVagrant=D:\htdocs\laracasts\Homestead

if "%1" == "edit" goto end

cd /d %homesteadVagrant% && vagrant %*
cd /d %cwd%

:end
cd /d %homesteadVagrant% && start t Homestead.yaml
cd /d %cwd%

set cwd=
set homesteadVagrant=