详细教程参看:http://laravelacademy.org/post/7658.html
简介
Laravel 为开发者提供了一套完善的重量级本地开发环境 —— Laravel Homestead。
Laravel Homestead 实际是一个打包好各种 Laravel 开发所需软件和工具的 Vagrant 盒子(关于 Vagrant 盒子的释义请参考 Vagrant 官方文档),该盒子为我们提供了一个优秀的开发环境,有了它,我们不再需要在本地环境安装 PHP、Composer、Nginx、MySQL、Memcached、Redis、Node 等其它工具软件,我们也完全不用再担心误操作搞乱操作系统 —— 因为 Vagrant 盒子是一次性的,如果出现错误,可以在数分钟内销毁并重新创建该 Vagrant 盒子!
前期准备
本机环境:Windows
安装
1.把下载好的Homestead-Box文件放置在你的项目根目录中,如:C:\project
2.在同一个目录新建metadata.json文件(通过这种方式配置可以避免Vagrant无法识别Box文件版本导致执行异常问题)
metadata.json文件如下:
{
"name": "laravel/homestead",
"versions":
[
{
"version": "3.0.0",
"providers": [
{
"name": "virtualbox",
"url": "Homestead-Box.box"
}
]
}
]
}
3.添加名称为laravel/homestead的Box:vagrant box add laravel/homestead C:/project/metadata.json
4.vagrant box list
查看是否添加成功
5.安装Homestead:
cd C:/project
git clone https://github.com/laravel/homestead.git Homestead
cd Homestead
git checkout v6.1.0 #切换到稳定版本
6.初始化:在 Homestead 目录下运行 bash init.sh 命令来创建 Homestead.yaml 配置文件,生成的 Homestead.yaml 配置文件文件位于当前 Homestead 目录
// Mac/Linux...
bash init.sh
// Windows...
init.bat
7.配置 Homestead,具体参考文章顶部连接的教程,设置同步目录和虚拟域名等
8.修改Hosts文件
9.启动vagrant up
安装时遇到的问题
由于本机(Windows)的账户是中文,导致~/目录路径包含中文字符,Vagrant会在执行Vagrant up
指令时发生类似如下错误:
D:/HashiCorp/Vagrant/embedded/gems/gems/childprocess-0.5.3/lib/childprocess/wind
ows/process_builder.rb:43:in `join': incompatible character encodings: GBK and UTF-8
上网查了相关资料后,定位到问题后:
1. 修改本机VAGRANT_HOME
环境变量到新的目录路径并把~/.vagrant.d目录移到新目录即可:
2. 修改VirtualBox的默认虚拟电脑位置
#我修改到了D:\temp目录
1. setx VAGRANT_HOME "D:/temp/.vagrant.d/" /M #永久修改环境变量,成功后重启
2. 打开VirtualBox,全局设定-常规-默认虚拟电脑位置:修改为 D:\temp\VirtualBox VMs
3. 重新执行 Vagrant up 指令
参看:类似问题