Vagrant 無法校驗手動下載的 Homestead Box 版本
起因
4年前電腦,配置不太好了,現有的 Homestead 執行起來太吃記憶體。在修改了 Homestead.yaml 檔案裡 memory 選項的記憶體配置為 1024 後,應用最新配置重啟失敗。
索性重新部署 Homestead,下載一個 3.0.0 版的 Box:
- 下載安裝 Virtual Box 虛擬機器。先前已有,無需下載。
- 下載安裝 Vagrant 虛擬機器管理工具。先前已有,無需下載。
- 新增 Homestead Box。執行 vagrant box add laravel/homestead --box-version=3.0.0 ,在命令的輸出中獲取 Downloading url:https://vagrantcloud.com/laravel/boxes/homestead/versions/3.0.0/providers/virtualbox.box,鑑於下載速度中止命令並手動下載該盒子。然後執行 vagrant box add laravel/homestead my_path_to/virtualbox.box
- 編輯 Homestead.yaml。將 memory 條目改為 1024,定義共享資料夾、專案站點、資料庫名。
- 在 ~/Homestead 目錄下執行 vagrant up 啟動 Homestead,出現報錯。
錯誤訊息
The box 'laravel/homestead' is not a versioned box. The box was added directly instead of from a box catalog.Vagrant can only check the versions of boxes that were added from a catalog such as from the public Vagrant Server.
解決辦法
在 laravel-VAGRANTSLASH-homestead 目錄下 touch 一個 metadata_url 檔案,寫入以下內容:
https://vagrantcloud.com/laravel/boxes/homestead/
比如,我的是這樣的:
cd ~/.vagrant.d/boxes/laravel-VAGRANTSLASH-homestead/ echo 'https://vagrantcloud.com/laravel/boxes/homestead/' > metadata_url
然後啟動 Homestead 即可。