基于Homestead的laravel开发环境采坑记录

成文于v6.2.2以及Laravel 5.5版本。安装教程参考文档。本文主要用于记录基于mac搭建homestead重量级开发环境所遇到的一些问题以及所用的解决方案


安装必要的软件

1.安装虚拟机,Virtualbox/Vmware/parallels都可以,不过大部分是基于Virtualbox

2.安装vagrant,vagrant是基于Virtualbox的虚拟机来构建你的开发环境的工具

*以上部分属于软件安装,一般不会遇到什么问题

安装Homestead Vagrant盒子

在终端使用下面的命令添加Homestead vagrant盒子(需科学上网,不然速度较慢)

vagrant box add laravel/homestead

运行时会提示选择虚拟机类型,选择virtualbox即可。

安装Homestead

将仓库克隆到用户目录下的Homestead目录

cd ~

git clone https://github.com/laravel/homestead.git Homestead

克隆完成后,你需要检查 Homestead 的版本标签,找到最新稳定版本然后在本地将其检出:

cd Homestead

git tag

//select the last version

git checkout v6.1.0


接下来,在Homestead目录下运行bash init.sh命令来创建Homestead.yaml配置文件,生成的Homestead.yaml配置文件文件位于当前Homestead目录:

bash init.sh

配置Homestead

此处照着文档来操作容易不明所以,即使配置成功之后出现No input file specified也容易一脸懵逼。这里来简单说明下Homestead.yaml的配置

共享文件夹配置

folders:

    - map: ~/Development      //此处是你用户目录下的文件夹,会和和Homestead虚拟机间保持同步,所以如果配置时没有该文件夹的话,之后启动vagrant时会无法mount

   to: /home/vagrant/Code    //Homestead虚拟机里的文件路径

Nginx 站点配置

sites:

    - map: homestead.app                                  //你开发时所访问的域名

    to: /home/vagrant/Code/Laravel/public       //Laravel所在的路径,其index.php作为默认入口

Hosts文件

sudo vim /etc/hosts  //vim可换成其他编辑工具

输入密码并添加

192.168.10.10 homestead.app    //对应你所采用的域名

至此,Homestead.yaml配置结束,更多复杂配置参考开发文档

启动 Vagrant Box

在Homestead目录下运行

vagrant up

此时若是没有git相关的证书,会提示

Check your Homestead.yaml file, the path to your private key does not exist.

安装并配置git,并通过

ssh-keygen -t rsa -C "[email protected]"

生成密钥即可。

Vagrant 将会启动虚拟机并自动配置共享文件夹以及 Nginx 站点,此时因为没有安装Laravel,会提示No input file specified.

安装Laravel参考此文档

*此处若出现类似于Fatalerror:require():Failedopeningrequired'/home/vagrant/laraveltest/blog/bootstrap/../vendor/autoload.php' 的错误,在所new的Laravel文件夹下运行如下语句

composer install

此时若不存在文件路径问题应该已经正常显示Laravel的原始首页了。但若显示Whoops, looks like something went wrong.也不要紧,此时离完全成功也已经很接近了。解决方案可以参考:百度经验


搭建过程除了官方文档,还参考了下列技术博客,在此表示感谢:

http://blog.csdn.net/rlanffy/article/details/51871613

https://blog.triplez.cn/index.php/2017/04/01/install-configure-homestead-enviornment-for-laravel/

你可能感兴趣的:(基于Homestead的laravel开发环境采坑记录)