Homestead for M1
Homestead 提供了一个统一的 Laravel 开发环境,而无需在本地机器上安装 PHP、Web 服务器和任何其他服务器软件。
前置准备
环境要求:
Apple M1系统- 系统版本大于或等于
macOS Monterey 12
在电脑顶部主菜单的黑苹果图标处点击下拉菜单找到 "关于本机" 处找到当前电脑的系统概览
软件安装
Parallels Desktop 18 for Mac
在 Parallels Desktop 18 for Mac 官方地址下载并安装到 Mac 电脑,软件默认有 14 天的试用期。
Vagrant
在 Vagrant 官方地址 下载 vagrant 并安装到本地,软件开源免费。
通过下面的方式验证是否正常:

Homestead
下载 Homestead
bash# Homestead 源码下载到本地的 `~/Homestead` 可以根据需要修改存放位置 HOMESTEAD_PATH=~/Homestead git clone https://github.com/laravel/homestead.git $HOMESTEAD_PATH cd $HOMESTEAD_PATH git checkout release bash init.sh配置 Homestead
安装
vagrant-parallels插件 Vagrant支持 VirtualBox 和 Parallelsbashvagrant plugin install vagrant-parallels由于这里选择的是 Parallels 方案,所以将需要安装 Parallels Vagrant 插件,这个插件是免费的。
修改
Homestead.yaml文件中分别配置:provider: parallelsbox: laravel/homestead-armversion: 13.0.0:yaml--- ip: "192.168.56.56" memory: 2048 cpus: 2provider: parallels box: laravel/homestead-arm version: 13.0.0
更多Homestead 配置请看 查看文档。
下载并安装 laravel/homestead-arm
这里通过将box下载到本地的方式,在通过路径指定box的形式进行安装,能增加成功率。
下载当前最新版本的Box, v13.0.0

假如下载到本地
~/Downloads目录下,并将下载后命名为parallels-homestead-arm.box使用
vagrant box add添加到 Vagrant编写文件
metadata.json内容如下:json{ "name": "laravel/homestead-arm", "versions": [{ "version": "13.0.0", "providers":[{ "name": "parallels", "url": "~/Downloads/parallels-homestead-arm.box" }] }] }执行命令
vagrant box add metadata.json
镜像文件被添加到
~/.vagrant.d/boxes目录下执行命令查看是否正常添加
bashvagrant box list
启动
vagrant up
vagrant up homestead # 指定名称使用上面的命令可以启动 vagrant,并在 Parallels Desktop 中看到 Homestead 的镜像,如下图所示:

连接 Homestead 虚拟机
vagrant ssh
ssh -i ~/.ssh/id_rsa vagrant@192.168.56.56 # 使用ssh方式登录卸载
- 卸载 Homestead 虚拟机
vagrant destroy homestead- 删除 Box
vagrant box remove laravel/homestead-arm
再依次卸载 Vagrant 和 Palallels Desktop 18 for Mac 即可。
Vagrant常用命令
| 命令 | 简单说明 |
|---|---|
vagrant init [options] [name [url]] | 初始化box的操作 |
vagrant up [options] [name or id] | 启动虚拟机的操作 |
vagrant ssh [options] [name or id] [-- extra ssh args] | 登录虚拟机的操作 |
vagrant box add [options] <name, url, or path> | 添加box的操作 |
vagrant box remove <name> | 删除某个box |
vagrant box list | 查看box列表 |
vagrant box remove | 删除相应的box |
vagrant destroy [options] [name or id] | 停止当前正在运行的虚拟机并销毁所有创建的资源 |
vagrant halt [options] [name or id] | 关闭虚拟机 |
vagrant package [options] [name or id] | 打包命令,可以把当前的运行的虚拟机环境进行打包 |
vagrant reload [vm-name] | 重新启动虚拟机,主要用于重新载入配置文件 |
vagrant suspend [name or id] | 挂起当前虚拟机 |
vagrant resume [vm-name] | 恢复被挂起的状态 |
vagrant ssh-config [options] [name or id] | 输出用于ssh连接的一些信息 |
vagrant status [name or id] | 获取当前虚拟机的状态 |