升級 Laravel Homestead

2017-01-12 10:03:54来源:作者:Tony's Blog人点击

Laravel Homestead

Laravel Homestead 最新版本已經支援熱騰騰的 PHP 7.1,趕快來更新 Homestead 吧。如果還沒用過 Homestead,可以先看看 Laravel 開發環境使用 Homestead 。 升級 Homestead 程式碼

先查一下目前使用的程式碼版本,開啟終端機,切換到 Homestead 目錄,輸入:

git describe --tags

會顯示目前程式碼的版本,我的例子是 v3.0.2-54-g787fdaf 。

目前在 GitHub 上的 laravel/homestead 最新版本是 tag v4.0.3

直接使用

git pull

將程式碼更新到最新版本。

升級 Homestead Box

在 Vagrant Boxes 網站查了一下,目前 Homestead Box 最新版本是v1.0.1。在 v1.0.0 版中有註明, Homestead 程式碼版本要在 3.2 版以上,所以在前面升級 Homestead 程式碼的部份,請注意版本是否符合。

要查看目前正在使用的 Homestead Box 版本,可以在終端機中輸入:

vagrant box list

會列出所有已下載的 Box,其中會有 laravel/homestead (virtualbox, 0.5.0) ,這就是我目前安裝的版本。

要更新 box,先切換到 Homestead 程式碼目錄,然後使用指令:

vagrant box update

應該就可以更新了。可是我的不行,它回應的訊息是找不到這個 box 所以無法更新,可是用 list 指令查又會顯示這個 box,這我也搞不清楚。

反正要安裝最新版本,所以直接用指令:

vagrant box remove BOX的名稱 --box-version="0.5.0"

把舊版本移除。指定版本的選項 --box-version 可以不使用,當你有同一個 box 但多個版本時,想要刪掉指定版本才用。

註:在安裝新的 box 版本後,執行 update 就正常了,猜想有可能是第一次下載 box 時,是用 vagrant up 方式安裝的關係。

更多指令可參考 vagrant box 。

更新 VirtualBox 的 VM

前面的步驟是升級 Vagrant 的 box,這個 box 會被重覆利用來安裝成 VM,在做這個動作之前,我們的 VM 仍是舊的。

要查看目前安裝了哪些虛擬機器 (VM) 及它們的狀態,可以使用指令:

vagrant global-status

會列出已安裝的虛擬機器。基本上會和你打開 VirtualBox ,在清單上看到的一樣。但實際上有可能不同,例如訊息顯示某個虛擬機器正在執行,但其實並沒有;或是已刪除的虛擬機器還列在清單上,這時可以加入選項:

vagrant global-status --prune

資訊會比較正確。詳細指令請參考 vagrant global-status 。

在安裝新的 VM 之前,要先把舊的刪除。在前面的指令中,會列出 VM 的清單,其中會有一個 id 欄位,所以:

vagrant destroy 1a2b3c4d

在 destroy 指令後面接 id 的值就會刪除該 VM;或是輸入 VM 的名稱也可以。

接下來就可以用新的 box(剛剛下載的 v1.0.1) 來安裝新的 VM,這時候記得切換到 Homestead 程式碼目錄,然後輸入:

vagrant up

在啟動前,它會先把 Box 安裝成一個 VM,然後再啟動它。

重要!因為虛擬機器會被刪除重建,所以放在 VM 中的資料都會被刪除,假設你需要保留資料庫中的資料或實體檔案等等,請記得先備份。

因為 VM 和實體主機有一個共用的連結在一起的目錄,所以你可以把資料都放在這裡,這樣不管怎麼刪除 VM 都不用擔心資料的問題。資料庫的資料,可以先寫一個 bash 指令,用來匯入、匯出資料,日後只要登入 VM 然後執行該 bash 就很好。

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台