M1 安装Homestead
一、环境要求
1、mac M1
2、macOS Big Sur 11.3.1以上
3、Parallels Desktop 18 for Mac
4、Vagrant 2.3.0
下载完之后在终端运行命令vagrant -v
,出现如下图,说明安装成功
二、安装homestead以及虚拟机
1、下载 Homestead 管理脚本
因国内网络限制,为方便下载和后续管理脚本的流畅使用,本书中将使用定制版本的 Homestead 脚本,定制版有以下优势:
- 从国内 coding.net 网站下载,下载速度会比 官方 更快;
- 对脚本进行修改,移除了每一次
provision
时composer self-update
的卡顿。
接下来,使用 Git 下载定制版的 Homestead:
> cd ~
> git clone https://gitee.com/summerblue/homestead.git Homestead
注:我们把 Homestead 放在
~/Homestead
路径下,为方便后面的讲解,请保持一致。
完成之后我们需要进入 Homestead
目录,使用 Git 检出我们需要的 Homestead 版本:
> cd ~/Homestead
> git checkout v13.2.1
注:为了保证后续讲解的流畅性,请注意版本的一致性,这里我们使用
v13.2.1
。
接下来我们需要初始化 Homestead:
> bash init.sh
运行以上命令后,会在 ~/Homestead
目录下生成以下三个文件:
- Homestead.yaml - 主要配置信息文件,我们可以在此文件中配置 Homestead 的站点和数据库等信息;
- after.sh - 每一次 Homestead 盒子重置后(provision)会调用的 shell 脚本文件;
- aliases - 每一次 Homestead 盒子重置后(provision),会被替换至虚拟机的
~/.bash_aliases
文件中,aliases
里可以放一些快捷命令的定义。
接下来我们来生成 SSH Key,开始之前,我们先使用以下命令来检查主机上是否已经生成过 SSH Key:
> ls -al ~/.ssh
如果存在 id_rsa
和 id_rsa.pub
的话,请跳过以下生成 SSH 的步骤继续阅读剩下内容。
否则使用以下方法来生成 SSH Key,请将 <your_email@example.com>
替换为你的邮箱:
> ssh-keygen -t rsa -C "your_email@example.com"
Generating public/private rsa key pair.
命令行会提示让你指定秘钥的名称,按回车键将 SSH Key 保存到默认文件名即可:
Enter a file in which to save the key (/Users/you/.ssh/id_rsa): [Press enter]
接下来会询问你为 SSH Key 设置密码,按回车键即可,默认为空密码:
Enter passphrase (empty for no passphrase): [Type a passphrase]
Enter same passphrase again: [Type passphrase again]
可以都选择默认,也就是直接敲击几个 Enter
键即可。这时候我们再检查一下:
> ls -al ~/.ssh
可以看到以下两个文件:
id_rsa
—— SSH 秘钥的 私钥 (Private Key)id_rsa.pub
—— SSH 秘钥的 公钥 (Public Key)
修改Homestead.yaml 文件
2、安装arm架构vagrant box
tips:以下命令也在Homestead文件夹下运行。
- 安装
vagrant-parallels
,命令:sudo vagrant plugin install vagrant-parallels
如图安装成功:
下载arm架构的vagrant box网址如下:
app.vagrantup.com/yodoware/boxes/h...
拉到底:
下载下来后记得重命名为parallels.box。
在Homestead文件下新建metadata.json写入如下代码:
{
"name": "laravel/homestead",
"versions": [{
// 这个是我的homestead版本, 如果不是这个请自行更改
"version": "11.3.0",
"providers":[
{
"name": "parallels",
// .box 文件存放的绝对路径
"url": "/Users/gaoyiping/Documents/parallels.box"
}
]
}]
}
url一定修改成你刚刚下载并重命名parallels.box的路径位置。如果你也是当中Downloads中就不用修改。当然justin肯定得改成你自己的。
执行命令:sudo vagrant box add metadata.json
创建arm架构vargant box。
运行sudo vagrant up
如下成功运行虚拟机:
执行sudo vagrant ssh
进入,如下成功:
至此m1
搭建Homestead
开发环境完成。
三、效果测试三、效果测试
四、踩坑记录
homestead-7: Box ‘lc/homestead’ could not be found. Attempting to find and install…
- 打开 Homestead\scripts\homestead.rb 文件
- 找到:config.vm.box = settings [“box”] ||= “lc/homestead”
- 改为:config.vm.box = settings [“box”] ||= “laravel/homestead”
修改 Homestead\scripts\homestead.rb
文件
将 config.vm.box_version = settings['version'] ||= '>= 12.0.0, < 13.0.0'
修改为config.vm.box_version = settings['version'] ||= '>= 11.0.0, < 12.0.0'
将 config.vm.box = settings['box'] ||= 'lc/homestead'
修改为 config.vm.box = settings['box'] ||= 'laravel/homestead
如果在创建虚拟机的时候,即 vagrant up
中出现
default: Warning: Authentication failure. Retrying...
在 homestead.rb
中加入如下配置:
config.ssh.username = 'vagrant'
config.ssh.password = 'vagrant'
重启创建虚拟机(vagrant up
)即可。
五、vagrant常见命令
vagrant常见命令
vagrant box list: 查看所有虚拟机。
vagrant global-status:查看虚拟机状态。
vagrant box remove 虚拟机名称:移除虚拟机。
vagrant destroy 虚拟机id:销毁虚拟机。
vagrant box add 虚拟机:创建虚拟机。
vagrant up:启动虚拟机。
vagrant reload --provision :修改了配置,重启下虚拟机。
六、虚拟机安装laravel,本地测试六、虚拟机安装laravel,本地测试
然后再在\etc\host下写入域名映射:在 macOS 和 Linux 上,此文件位于 /etc/hosts
。 在 Windows 上,它位于
192.168.56.56 homestead.test
然后用浏览打开http://homestead.test/
,可以看到laravel
已经跑起来了,美美的图如下:
Navicate 连接数据库
Paraller Desktop 控制中心显示
本作品采用《CC 协议》,转载必须注明作者和本文链接
用 docker 他不香吗? 整完整的 Homestead 改个配置重启慢不说日常又吃内存. 毕竟自动化部署都是基于 docker 镜像去玩了. 开发与生产保持一致才是明智选择
我也一直用homestead ,哈哈
mamp pro不香吗 :flushed:
larardock
为啥不用docker呢
brew不香吗?
官方已有 ARM 版本的了 app.vagrantup.com/laravel/boxes/ho...