2016-09-22 108 views
0

我正在全局/共享文件夹中开发各种PHP软件包,并将它们符号链接到各种开发设置,这可以在基本的本地主机设置下正常工作。是否可以在流浪者中嵌入同步文件夹?

但是,当我试图在Vagrant中实现同样的事情时遇到了问题,因为它不支持同步文件夹中的符号链接(或者至少存在安全问题)。

我被建议使用同步文件夹来解决这个问题,但虽然Vagrant告诉我它挂载了文件夹,但当我ssh进入时,它们是空的。

为了说明这一点,这是我的设置:

全球封装库(所有的开发环境此处链接):

+- shared_drive 
    +- packages 
     +- PackageFoo 
     +- PackageBar 
     +- PackageBaz 

本地主机(工作):

+- work_drive 
    +- project 
     +- vendor 
      +- davestewart 
       +- PackageFoo  <= symlink to /shared_drive/packages/PackageFoo 

VM(其不起作用):

+- vagrant 
    +- project     <= mapped to /work_drive/project 
     +- vendor 
      +- davestewart 
       +- PackageFoo  <= mapped to /shared_drive/packages/PackageFoo 

路径是正确的,我可以到处都是cd

我试过了各种同步类型(默认,nfs,rsync)。

所以无论我做什么,在Vagrant的ls显示vendor/davestewart/是空的。

这是否是正确的方法?我希望能够做的就是在我设置的所有开发环境中编辑和测试原始包文件。

OSX /约塞米蒂 的VirtualBox 5.1

回答

0

代替任何答案,我设法把它发挥得淋漓尽致,以解决这个问题。

而不是试图哄骗流浪到下面的外部符号链接(其本身说,文档跨平台是不一致的)我已经:

  • 将原来的外部符号链接/shared_drive/packages/...为流浪同步文件夹
  • 内部符号链接的原始来源/project/vendor/...到这个文件夹

莫尔Ë视觉:

+- vagrant 
    +- shared 
    | +- packages    <= synced (external) folder to /shared_drive/packages/ 
    |  +- PackageFoo 
    |  +- PackageBar 
    |  +- PackageBaz 
    | 
    +- project 
     +- vendor 
      +- davestewart 
       +- PackageFoo  <= symlink (internal) to /shared/packages/PackageFoo/ 

完全易于设置,它的快速,PHP是幸福的,它应该在所有的操作系​​统工作:)