基于Vagrant 和 Homestead快速搭建Laravel开发环境

详细教程参看: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. 下载并安装 Virtual Box最新版 - Here
  2. 下载并安装 Vagrant 最新版 - Here
  3. 下载你需要的Homestead box文件 - Here
    // 不然自动安装时那速率异常感人

安装

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 指令

参看:类似问题

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章