添加第二个Homestead Box
前段时间突然需要学习一个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 协议》,转载必须注明作者和本文链接
推荐文章: