本文目录
- 一、环境要求
- 1、mac M1
- 2、macOS Big Sur 11.3.1以上
- 3、Parallels Desktop 16 for Mac
- 4、Vagrant
- 二、安装homestead以及虚拟机
- 1、安装homestead
- 2、安装arm架构vagrant box
- 三、效果测试
- 四、踩坑记录
- 五、vagrant常见命令
- 六、虚拟机安装laravel,本地测试
一、环境要求
1、mac M1
这个就是你的m1 mac电脑了。
2、macOS Big Sur 11.3.1以上
升级系统11.3.1以上
以下是我系统:
3、Parallels Desktop 16 for Mac
这个去官网下载地址给出:
https://www.parallels.com/products/desktop/
点击下载,下载完成之后,运行安装.dmg后缀文件。
这个虽然是收费,但是我们后面用的vagrant-parallels
是免费的。
4、Vagrant
地址:
https://www.vagrantup.com/downloads 有最新的用最新的
AMD
的
点击下载。下载完成之后,运行安装.pkg后缀文件。
下载完之后在终端运行命令vagrant -v
,出现如下图,说明安装成功:
二、安装homestead以及虚拟机
1、安装homestead
在终端依次运行如下命令:
sudo git clone https://github.com/laravel/homestead.git ~/Homestead
sudo cd ~/Homestead
sudo git checkout release
sudo bash init.sh
sudo ssh-keygen -t rsa
我们将Homestead用vscode打开,做如下修改:
保存。
2、安装arm架构vagrant box
tips:以下命令也在Homestead文件夹下运行。
- 安装
vagrant-parallels
,命令:sudo vagrant plugin install vagrant-parallels
如图安装成功: - 下载
arm
架构的vagrant box
网址如下:https://app.vagrantup.com/laravel/boxes/homestead-arm
下载最新的 - 下载下来后记得重命名为
parallels-homestead-arm.box
。 - 在
Homestead
文件下新建metadata.json
写入如下代码:
版本要对应上13.0.0
{
"name": "laravel/homestead-arm",
"versions": [{
"version": "13.0.0",
"providers":[
{
"name": "parallels",
"url": "/Users/justin/Downloads/parallels-homestead-arm.box"
}
]
}]
}
url
一定修改成你刚刚下载并重命名parallels.box
的路径位置。如果你也是当中Downloads
中就不用修改。当然justin
肯定得改成你自己的。
修改Homestead/scripts/homestead.rb
中:
- 执行命令:
sudo vagrant box add metadata.json
创建arm架构vargant box。 - 运行
sudo vagrant up
如下成功运行虚拟机: - 执行
sudo vagrant ssh
进入,如下成功:
至此m1
搭建Homestead
开发环境完成。
三、效果测试
可以看到这行代码homestead1: /home/vagrant/code => /Users/justin/code
可以知道在本地 /Users/justin/code
与虚拟机/home/vagrant/code
已经文件发生变化的时候保持同步。我们可以测试下:
在虚拟机进入code
文件夹创建文件test命令:touch test
:
我们看下本地是不是也同步:
可以看到本地已经同步,说明我们的环境搭建的没有问题。
四、踩坑记录
Parallels Desktop virtual machine with the name ‘homestead’ already exists.
Please use another name or delete the machine with the existing
name, and try again
如果报以上的错误,可能是因为Parallels Desktop
,你已经创建过同名的虚拟机了,可以使用命令:
sudo vagrant box list
查看所有的虚拟机:
你可以使用命令:
sudo vagrant box remove laravel/homestead(这个是你的虚拟机名称)
来移除这个虚拟机。
如果移除了,再sudo vagrant up
还是报相同的错误的话,那么也有可能是缓存引起的,具体的怎么解决我也不大清楚,但是我们可以查看它运行时的代码源文件,在Homestead\scripts\homestead.rb
: 我们修改几处命名:换个命名就可以解决这个问题,并且启动虚拟机了。:
在有出现settings['hostname']
的地方都重新替换。
五、vagrant常见命令
sudo vagrant box list
: 查看所有虚拟机。sudo vagrant global-status
:查看虚拟机状态。sudo vagrant box remove 虚拟机名称
:移除虚拟机。sudo vagrant destroy 虚拟机id
:销毁虚拟机。sudo vagrant box add 虚拟机
:创建虚拟机。sudo vagrant up
:启动虚拟机。sudo vagrant reload --provision
:修改了配置,重启下虚拟机。
六、虚拟机安装laravel,本地测试
在虚拟机code
目录下执行命令laravel项目:
composer create-project --prefer-dist laravel/laravel=8.4.4 shopApi
安装完成后可以看到本地:
然后修改homestead.yaml
:
由于我们修改了配置文件,所以我们新开一个终端进入Homestead
下执行命令:
sudo vagrant reload --provision
重启下虚拟机:
然后再在\etc\host
下写入域名映射:
然后用浏览打开http://homestead.test/
,可以看到laravel
已经跑起来了,美美的图如下:
在此记录下
m1
搭建Homestead
开发环境,总结了搭建的所有的坑,希望能帮助到你。