添加第二个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 协议》,转载必须注明作者和本文链接
          
                    
                    
          
          
                关于 LearnKu
              
                    
                    
                    
 
推荐文章: