使用一个puphpet配置为osx&赢得

时间:2015-06-15 02:19:09

标签: vagrant puphpet

使用puphpet configs可以根据主机操作系统更改代码目录吗?

我知道这可以用实际的vagrant文​​件完成,但是我无法从yaml看到如何做到这一点。

我试图在yaml中添加一个限定字段:

    synced_folder:
        E6zs5ESFmosx:
            owner: ''
            group: ''
            source: '/Users/user/Development/www'
            target: /var/www
            sync_type: osx
            rsync:
                auto: 'false'
        E6zs5ESFmwin:
            owner: ''
            group: ''
            source: 'I:\Development\www'
            target: /var/www
            sync_type: win
            rsync:
                auto: 'false'

然后改变vagrant文​​件进行相应的切换:

elsif folder['sync_type'] == 'osx'
        config.vm.synced_folder '#{folder['source']}', "#{folder['target']}", id: "#{i}", type: 'nfs'

但是这仍然会导致I:\ Development \ www在尝试在osx中​​流浪时无法使用。

解决此问题的最佳方法是什么?只需从yaml中删除文件夹并在vagrant文​​件中手动定义它们?这意味着每次使用puphpet生成新配置时都会有一些工作。没那么糟糕,但在我看来应该有一个更简单的方法。

1 个答案:

答案 0 :(得分:0)

您可以从config.yaml文件覆盖config-custom.yaml内的设置。只需创建一个新文件并更改您喜欢的块。

使用

deep_merge,因此您只需要更改所需的块,而不是包含您希望保留的默认值。

除此之外,您还可以编辑Vagrantfile以包含更多配置文件,具体取决于主机操作系统。