Homestead安装、环境搭建、盒子下载、坑位排查

1,868 阅读4分钟

因为之前用了一个星期踩坑,后来因为C盘爆了移到了E盘(此处也是以E盘为例,终端用的是git,图片用了laragon终端的截图,不要问为什么因为懒),因为有近半年没有弄,又浪费了一天的时间,所以此处记录Homestead中自己所踩过的坑,也希望可以帮助到入坑的小伙伴们,虽然自己排版稀烂(偷个懒懒得排了~),但是够用了

环境搭建篇(WIN10)

Laravel框架专属重量级开发环境:Homestead
1、准备工作:Virtual Box(虚拟机)、git终端、vagrant(本地开发环境)下载并一键安装(可直接参考laravel中文社区)
PS:
安装完Virtual Box(虚拟机)先不着急添加盒子,修改 安装完vagrant后配置环境变量:我的电脑》属性》高级系统设置》环境变量 第1步完成后
2、进入vagrant官网下载virtualbox.box文件(我将下载的文件放在了E:/larall中),下面有具体操作:

> cd /e/larall

1年前的方法:进入终端git或者cmd或者laragon或者SourceTree的终端
输入命令(这一步可以忽略,很久之前踩的坑,下面有新的快捷方法,避免浪费时间下载)
注意:通过直链下载的东西是一串代码命名的,我们就要重新命名(将下载的文件名称改为virtualbox.box)

目前使用的方法可以直接通过下载
链接: pan.baidu.com/s/1paOliB71… 提取码: cwqi
因为百度网盘有限制下载速度,跑了个捷径,需要请点击
将下载的virtualbox6.3.0.box文件放入E盘的larall文件夹中

3、用vagrant添加下载的盒子

> cd /e/larall
> vagrant box add '自定义name' virtualbox6.3.0.box

可通过查看

> vagrant box list

确定是否有ssh文件

> ll ~/.ssh

如果有id_rsa和id_rsa.pub文件可直接继续下面步骤,如果没有可直接参考laravel中文社区
4、下载Homestead文件目录

> cd /e/larall
> git clone https://git.coding.net/summerblue/homestead.git Homestead
> cd Homestead
> git checkout v7.8.0
> bash init.sh
> explorer .

找到Homestead.yaml文件修改相关参数,参数详细介绍(可直接参考laravel中文社区),以下是我个人的配置

---
ip: "192.168.10.10"
memory: 2048
cpus: 1
provider: virtualbox

authorize: ~/.ssh/id_rsa.pub

keys:
    - ~/.ssh/id_rsa
    - ~/.ssh/id_rsa.pub

folders:
    - map: E:/larall/code/larashop
      to: /home/vagrant/code/larashop

sites:
    - map: larashop.test
      to: /home/vagrant/code/larashop/public

databases:
    - homestead
    - larashop

# blackfire:
#     - id: foo
#       token: bar
#       client-id: foo
#       client-token: bar

# ports:
#     - send: 50000
#       to: 5000
#     - send: 7777
#       to: 777
#       protocol: udp

PS:记住每次修改了Homestead.yaml文件一定要跑

> cd /e/larall/Homestead
> vagrant reload --provision

第四步完成后
5、前面配置基本完成了,现在我们要配置虚拟机的域名指向(如果保存不了hosts文件请了解下win的权限)
①进入到etc配置路径下图有
②编辑hosts文件
③添加域名的指向

192.168.10.10  larashop.test

6、我虚拟机和vagrant都安装在了larall文件夹中,确保都安装了,执行一下命令

> cd /e/laralll/Homestead
> vagrant up
··· 
此处快慢的进展看个人网速,我是7分钟左右安装好了,此处大概率会提示报错(解决方案在下面)
···
> vagrant ssh

大概率报错情况截图
问题报错1(这个问题是1年前的,跟着laravel中文社区的文档基本不会出现这个问题): 解决:因为这个virtualbox系统默认设置的是2.0.0(目前我下的最新版本指向的是4.0.0),而我们的文件是0

  1. 打开 Homestead\scripts\homestead.rb 文件
  2. 找到:config.vm.box_version = settings["version"] ||= ">= 2.0.0"
  3. 改为:config.vm.box_version = settings["version"] ||= ">= 0"

问题报错2:

  1. 打开 Homestead\scripts\homestead.rb 文件
  2. 找到:config.vm.box = settings ["box"] ||= "lc/homestead"
  3. 改为:config.vm.box = settings ["box"] ||= "laravel/homestead"

问题Windows 10 安装 Homestead 卡在 SSH auth method: private key
方法1:C:\Users\ 你的用户名.ssh 文件夹是不是存在,并且存在两个文件 id_rsa & id_rsa.pub,如果不存在,则用 git 生成 ssh key,然后把 id_rsa 拷贝到 Homestead.vagrant\machines\homestead-7\virtualbox\ 命名为 private_key 文件,再重试一下
方法2:解决方案 方法3:重新按照教程走2遍

常用命令

vagrant -v          # 查看版本
vagrant status      # 查看状态
vagrant up          # 启动虚拟机
vagrant ssh         # 访问虚拟机
vagrant reload      # 重启虚拟机
vagrant suspend     # 挂起虚拟机(虚拟机内存都保存在硬盘上,启动可快速恢复)
vagrant resume      # 恢复虚拟机(与挂起对应)
vagrant halt        # 关闭虚拟机
vagrant destroy     # 销毁虚拟机
vagrant package     # 打包镜像(以后任何地方都能用)

# box
vagrant box list    # 镜像列表
vagrant box add     # 添加镜像
vagrant box remove  # 删除镜像