# 后端开发环境Homestead
启动 Homestead 之前,确保 VirtualBox 、Vagrant、Git 软件己安装。
## 安装 laravel/homestead
vagrant box add laravel/homestead
如果这个命令失败了,请确保你安装的是最新版的 Vagrant(可能被墙)。
1. 请下载 virtual.box自定义安装:
2. vagrant box add laravel/homestead ~/目录/virtualbox.box
被墙后后,请去Vagrant 官网下载:
https://vagrantcloud.com/laravel/boxes/homestead/versions/9.3.0/providers/virtualbox.box
如果执行自定义下载的文件安装,报如下错:
check your Homestead.yaml file, the path to your private key does not exist.
解决办法:
1 ssh-keygen -t rsa -b 4096 -C "your_email@example.com" 2 3 eval "$(ssh-agent -s)" 4 5 ssh-add -K ~/.ssh/id_rsa
cd ~ git clone https://github.com/laravel/homestead.git ~/Homestead
这样 Homestead Box 就可以作为你的所有 Laravel 项目的主机
切到最新的稳定版本
cd ~/Homestead # 或者期望的发行版本... git checkout v9.4.0
在 Homestead 目录中使用 bash init.sh 命令来创建 Homestead.yaml 配置文件。 Homestead.yaml 文件将被放在 Homestead 目录中
# Mac / Linux... bash init.sh
## 配置 Homestead
打开 ~/Homestead/Homestead.yaml
# 配置共享文件夹 (你电脑上的目录映射到虚拟机上) folders: - map: ~/website/bbs to: /home/vagrant/Code/bbs # 配置 Nginx 站点 sites: - map: bbs.test to: /home/vagrant/code/bbs/public
## 启动 Vagrant 盒子
配置好 Homestead.yaml 文件后,在 Homestead 目录下运行 vagrant up 命令,如果你是通过先下载 Homestead Vagrant 盒子再手动添加的方式安装的话,此时先不要执行这个命令,而是需要进入 ~/.vagrant.d/boxes/laravel-VAGRANTSLASH-homestead 目录(以 MacOS 为例,Windows 对应的路径应该是 C:/Users/User/.vagrant.d/boxes/laravel-VAGRANTSLASH-homestead,其中 User 对应你的用户名),添加一个 metadata_url 文件,并初始化文件内容如下(如果已有则忽略):
https://vagrantcloud.com/laravel/homestead
接下来,将该目录下手动添加到 Vagrant 盒子目录 0 重命名此次安装盒子版本号 9.4.0(可执行命令 vagrant box list 可得laravel/homestead virtualbox版本号),再回到 Homestead 目录运行 vagrant up 命令。Vagrant 将会启动虚拟机并自动配置共享文件夹以及 Nginx 站点,初次启动需要花费一点时间进行初始化。
当然为了关闭检测自动更新,配置 Homestead/script/homestead.rb 文件。
// 新增 config.vm.box_check_update = false
## 多版本 PHP
Homestead 6 在同一个虚拟机上引入了对多个 PHP 版本的支持。你可以在你的 Homestead.yaml 文件中指定要用于给定站点的 PHP 版本
sites: - map: homestead.test to: /home/vagrant/code/xxx/public php: "7.1"
## PHP版本管理工具
homestead 中自带了版本管理工具 update-alternatives
#进入 ssh vagrant ssh #查看所有 php 版本和当前版本 update-alternatives --display php #列出当前 php 所有版本和编号,输入编号,切换到执行的版本 update-alternatives --config php
## Homestead常用命令
> 将在Homestead目录下进行
1. 更新虚拟机上的 Nginx 配置(当更改了 sites 选项)
vagrant reload --provision` # 或者 vagrant provision && vagrant reload
2. 删除虚拟机
vagrant destroy --force
3. 启动
vagrant up
4. 进入系统
vagrant ssh