Laravel Homestead 2.0 介紹

Laravel PHP Framework

在九月寫了 Laravel Homestead 的基礎介紹,最近 Laravel 推出 Laravel Homestead 2.0,在 1.0 套件是沒有支援 homestead 指令,現在 2.0 可以直接使用 homestead 指令,前置安裝 Vagrant + Virtualbox 就不在此介紹了。

安裝 Homestead

如同上面所說,以前是直接 clone homestead 專案下來就包含了全部 config 檔案,2.0 則是直接支援 homestead 指令,可以直接透過 composer 來安裝

$ composer global require "laravel/homestead=~2.0"

完成後可以在使用者目錄發現 ~/.composer/vendor/bin 目錄,此目錄內會含有 homestead 指令,所以只要把 ~/.composer/vendor/bin 寫入到 PATH 變數即可,直接寫到使用者 .bashrc.zhsrc 設定黨內即可,接著如何產生 Homestead 設定檔,請執行底下指令

$ homestead init

到使用者目錄可以看到 ~/.homestead 裡面就含有 Homestead.yaml 設定檔,將此檔案打開

---
ip: "192.168.10.10"
memory: 2048
cpus: 1

authorize: ~/.ssh/id_rsa.pub

keys:
    - ~/.ssh/id_rsa

folders:
    - map: ~/Code
      to: /home/vagrant/Code

sites:
    - map: homestead.app
      to: /home/vagrant/Code/Laravel/public

databases:
    - homestead

variables:
    - key: APP_ENV
      value: local

可以發現跟 1.0 不一樣的地方在於,現在 2.0 可以直接指定 Databases,以及區域變數。另外在 ~/.homestead 下可以發現多了 after.sh,詳細說明如下

If you would like to do some extra provisioning you may add any commands you wish to this file and they will be run after the Homestead machine is provisioned.

意思是說,中途要增加任何 command 可以將指令寫到 after.sh 後,直接執行 vagrant provision 即可,而不用登入 vagrant ssh。2.0 變化大致如下

  • 支援 homestead 指令
  • 增加 database 及 variables 設定
  • 增加 after.sh

詳細介紹可以參考 Introducing Laravel Homestead 2.0,更多介紹可以參考 Laravel Homestead 官方文件,或者直接看 Laracasts 教學影片