🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
* homestead这个是laravel框架提供的开包即用的开发环境,目前最新的 larvavel 5.3框架,开包环境是预装软件 Ubuntu 16.04 Git PHP 7.0 HHVM Xdebug Nginx MySQL MariaDB SQLite 3 Postgres Composer Node(With PM2, Bower, Grunt, and Gulp)Redis Memcached Beanstalkd 具体的请看文档: * 个人理解:vagrant和docker类似,都是提供一套虚拟化的解决方案。 [TOC] ###安装 ####前提条件 * 需要安装virtualBox和vagrant软件。 * 输入以下命令,添加 Homestead Vagrant 盒子 ``` vagrant box add laravel/homestead ``` * 通过 GitHub 安装 Homestead 你还可以通过克隆仓库代码来实现 Homestead 安装。将仓库克隆到用户目录下的 Homestead 目录,这样 Homestead 盒子就可以作为所有其他 Laravel 项目的主机: ~~~ cd ~ git clone https://github.com/laravel/homestead.git Homestead ~~~ 克隆完成后,在 Homestead 目录下运行 bash init.sh 命令来创建 Homestead.yaml 配置文件,Homestead.yaml 配置文件文件 位于 ~/.homestead 目录: ~~~ bash init.sh ~~~ ###使用说明 * 配置同步文件夹,讲电脑的文件夹与Homestead中的文件夹对应。可以理解为windows的快捷方式或者C语言中的指针。 ~~~ folders: - map: ~/laravels to: /home/vagrant/laravels ~~~ * 配置 Nginx 站点 map为站点名称,to对应的网站启动目录,多站点参考下属设置即可。数据库的设置与他类似。 ~~~ sites: - map: homestead.app to: /home/vagrant/laravels/Laravel/public - map: blog.app to: /home/vagrant/laravels/blog/public ~~~ * 添加站点 * 一种为直接参考上述例子,添加新的站点。然后执行命令 vagrant provision 即可,如果已经在运行的盒子。执行命令 vagrant reload --provision即可。**请注意,请注意,请注意 这个操作是具有破坏性的,会将数据库销毁重建。** * 动态添加站点。在 homestead 环境里,输入命令 serve * ssh登陆 ~~~ vagrant ssh ~~~ ###错误集锦 * found a tab character that violate intendation while scanning a plain scalar at line 18 column 11 (Psych::SyntaxError) **这种错误,是配置文件homestead.ymal 中包含tab键,请将tab空格转换为空格即可。vim中可用命令 :\s\t** * 还有一种常见错误,就是国情所致。GFW导致的。 **解决办法** * FQ 方法:SS和lantern * 各种包管理器请将地址切换为国内源 npm切换为[淘宝NPM国内源](http://npm.taobao.org):方法:npm install -g cnpm --registry=https://registry.npm.taobao.org 之后使用cnpm 即可代替npm执行即可 composer安装源替换为[国内镜像源(http://pkg.phpcomposer.com/)](http://pkg.phpcomposer.com/);方法:composer config repo.packagist composer https://packagist.phpcomposer.com **这种配置下可能出现镜像未同步。包无法安装的情况,可等待国内镜像更新后重试或者FQ**