前段時間突然需要學習一個phalcon框架,各方面因素需要一個Linux環境來安裝
這就出現問題了, 我常用的 homestead-7
的 vagrant box 是萬萬不敢動的。
於是查閱了一番資料之後進行了大膽的嘗試,現在我同時擁有一個開發環境和一個測試環境
直接上乾貨 首先根據 Summer老師的開發環境搭建課程 我們可以獲得第一個 homestead box
在這個教程中我們下載的 lc-homestead-8.2.1-***
具體版本每個人情況不同
解壓之後的 metadata.json
檔案長這樣
{
"name": "lc/homestead", // 這就是我們要新增的 homestead box 的名字
"versions": [{
"version": "8.2.1",
"providers": [{
"name": "virtualbox",
"url": "virtualbox.box"
}]
}]
}
接下來進到 Homestead/script
資料夾開啟 homestead.rb
這個檔案
class Homestead
def Homestead.configure(config, settings)
# Set The VM Provider
ENV['VAGRANT_DEFAULT_PROVIDER'] = settings["provider"] ||= "virtualbox"
# Configure Local Variable To Access Scripts From Remote Location
scriptDir = File.dirname(__FILE__)
# Allow SSH Agent Forward from The Box
config.ssh.forward_agent = true
# Configure The Box
config.vm.define settings["name"] ||= "homestead-7"
config.vm.box = settings["box"] ||= "lc/homestead"
config.vm.box_version = settings["version"] ||= ">= 6.0.0"
config.vm.hostname = settings["hostname"] ||= "homestead"
# Configure A Private Network IP
if settings["ip"] != "autonetwork"
config.vm.network :private_network, ip: settings["ip"] ||= "192.168.10.10"
else
config.vm.network :private_network, :ip => "0.0.0.0", :auto_network => true
end
...
可以發現兩個比較眼熟的名字, homestead-7
和 lc-homestead
接下來,複製 Homestead
資料夾到 NewHomestead
並刪除 .vagrant
在 NewHomestead
資料夾內將 script/homestead.rb
內的 homestead-7
改為 homestead-test
或你喜歡的名字
保險起見,我把 metadata.json
的名字也改了並重新新增了一個 vagrant box
{
"name": "bt/homestead", // 這就是我們要新增的 homestead box 的名字
"versions": [{
"version": "8.2.1",
"providers": [{
"name": "virtualbox",
"url": "virtualbox.box"
}]
}]
}
# Configure The Box
config.vm.define settings["name"] ||= "homestead-bt"
config.vm.box = settings["box"] ||= "bt/homestead"
config.vm.box_version = settings["version"] ||= ">= 6.0.0"
config.vm.hostname = settings["hostname"] ||= "homestead"
然後修改 NewHomestead
下的 Homestead.yaml
$ cd NewHomestead && vagrant up
Bringing machine 'homestead-bt' up with 'virtualbox' provider...
==> homestead-bt: Checking if box 'phalcon/homestead' version '8.2.1' is up to date...
==> homestead-bt: Clearing any previously set forwarded ports...
...
為什麼要叫 homestead-bt
呢,因為我在裡面裝了個寶塔…已刪
本作品採用《CC 協議》,轉載必須註明作者和本文連結