基于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 "your_email@youremail.com"
生成密钥即可。
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/