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: parallels
box: laravel/homestead-arm
version: 13.0.0
:yaml--- ip: "192.168.56.56" memory: 2048 cpus: 2
provider: 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] | 获取当前虚拟机的状态 |