基於 vagrant搭建移動端的開發環境

雨夜的部落格發表於2021-03-07

# 後端開發環境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.
解決辦法:

基於 vagrant搭建移動端的開發環境
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
View Code

## 安裝 Homestead

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  

相關文章