homestead安装tips及问题锦集

之前开发laravel项目时,一直使用的是自己配置的box。最近有时间,所以想体验一下homstead,但是在安装过程中还是遇到了一些小问题,所以在此总结一下,也分享给大家。

准备工作

  1. 下载安装virtualbox或者vmware,但是vmware是收费的。

  2. 下载安装vagrant

  3. 注意windows系统,需要通过bios来开启硬件虚拟化设备

下载homestead盒子

  1. 使用vagrant下载盒子

下载homestead盒子,执行vagrant box add laravel/homestead

  1. 下载此盒子经常会因为网络原因而中断,再执行此命令时会出现

  2. 执行vagrant box add laravel/homestead -c,它会清除之前下载的缓存。

  3. 使用链接

使用vagrant命令添加box,是不支持断点下载的,所以经常会因为网络原因断开而导致下载失败。所以,我们可以通过第三方工具下载。

  1. 如何获得下载地址呢?执行vagrant box add laravel/homestead后,选择完虚拟服务提供者之后,就会出现链接。可参考途中绿色部分。因为我的电脑已经安装了homestead,所以下面的图是我以其他的盒子为例显示的。

  2. 下载别人已经下载好的盒子

当我尝试这个方法时,下载的盒子出现了问题,所以没有成功。如果通过composer下载盒子没有成功,可以参考这篇文章https://phphub.org/topics/2090

  1. 这是我通过composer安装的homestead0.4.4版本盒子,已上传至百度云。下载链接及密码链接:http://pan.baidu.com/s/1kVEnT59 密码: vzga

下载完之后的配置

  1. 通过克隆homestead仓库来配置homestead使用vagrant添加完box,一般我们是在初始化之后在相应的vagrantfile中做配置的。克隆homestead仓库是因为它替我们做了一些工作,让配置部分的工作更简单。接下来,我会以我本地配置的laravel项目为例。

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

  1. 进入Homestead目录,执行bash init.sh,生成Homestead.yaml配置文件。

  2. 进入~/.homestead目录,即可看到Homestead.yaml配置文件。

  3. 分享一下我的Homestead.yaml相关配置, provider表示的是那个vagrant提供者;keys为ssh key路径,如果没有ssh key则需要生成公共秘钥;floders是配置本机与虚拟机中的共享文件夹的;

   ---   ip: "192.168.10.10"   memory: 2048   cpus: 1   provider: virtualbox   authorize: ~/.ssh/id_rsa.pub   keys:       - ~/.ssh/id_rsa   folders:       - map: /Users/yuan/PhpstormProjects         to: /www   sites:       - map: learn.laravel.com         to: /www/laravel/public   databases:       - laravel   # blackfire:   # - id: foo   # token: bar   # client-id: foo   # client-token: bar   # ports:   # - send: 50000   # to: 5000   # - send: 7777   # to: 777   # protocol: udp
  1. 打开hosts文件进行配置本地域名192.168.10.10 learn.laravel.com,即可访问laravel这个项目

  2. homestead默认的虚拟机的mysql用户名:root,密码:secret,host:127.0.0.1;如果需要通过ssh链接数据库,ssh host:127.0.0.1,用户名:vagrant,密码:vagrant,ssh port:2201.

  3. 目前homestead仓库的分支php-7已经不存在,而且目前homstead仓库都已支持php7.所以不需要再使用这个命令克隆或升级到php7git clone -b php-7 https://github.com/laravel/homestead.git Homestead

  4. 使用vagrant传统的方法

创建一个开发目录,例如homestead

  1. 进入homstead目录,vagrant init homestead

  2. 同时homestead目录中会有vagrantfile文件,参考vagrant文档配置即可

  3. 执行vagrant up启动

  4. 执行vagrant ssh进入

在homestead中全局安装laravel

  1. composer global require "laravel/installer"

  2. export PATH="~/.config/composer/vendor/bin:$PATH" 确保 ~/.composer/vendor/bin 在系统路径中

  3. laravel new blog

  4. 每次重新进入homestead,都要重新执行命令export PATH="~/.config/composer/vendor/bin:$PATH"

  5. 可通过echo $PATH打印全局变量对比系统路径变化

  6. 至于为什么要确保确保 ~/.composer/vendor/bin 在系统路径中,可进入该目录一探究竟

修改Homestead.yaml

  1. 今天我尝试修改Homestead.yaml时,再使用vagrant reload重新加载box时出现问题

  2. 差了资料之后发现是我在修改Homestead.yaml这个文件时,使用了tab键,造成了文件的无法读取。所以小伙伴们如果出现了类似的问题,请检查Homestead.yaml文件,是否使用tab键,是否出现拼写错误。

  3. 检查完之后,请先执行vagrant provision

  4. 如果没有报错,请执行vagrant reload --provision

  5. 这是为了重新加载Homestead.yaml,一旦修改这个文件,都请先执行这两行命令

想做一个关于使用homestead的问题锦集,如果有小伙伴出现了本文没有贴出来的问题,欢迎交流,我会添加进来:smile:

参考文章:

  1. 使用 Vagrant 打造跨平台开发环境 https://segmentfault.com/a/1190000000264347

  2. Homestead 安装需要知道的一些信息 https://phphub.org/topics/2090

  3. 上手并过渡到PHP7(1)——基于Homestead的PHP7和XDdebug环境 https://segmentfault.com/a/1190000004148696

关键字:homestead

版权声明

本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处。如若内容有涉嫌抄袭侵权/违法违规/事实不符,请点击 举报 进行投诉反馈!

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部