因为之前用了一个星期踩坑,后来因为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
- 打开 Homestead\scripts\homestead.rb 文件
- 找到:config.vm.box_version = settings["version"] ||= ">= 2.0.0"
- 改为:config.vm.box_version = settings["version"] ||= ">= 0"
问题报错2:
- 打开 Homestead\scripts\homestead.rb 文件
- 找到:config.vm.box = settings ["box"] ||= "lc/homestead"
- 改为: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 # 删除镜像