2016-09-22 10 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)を試しました。

私が何をしても、バゲントのlsは、vendor/davestewart/が空であることを示しています。

これは適切なアプローチですか?私ができるようにしたいのは、私が設定したすべての開発環境で元のパッケージファイルを編集してテストすることだけです。

OSX /ヨセミテ のVirtualBox 5.1

答えて

0

任意の答えの代わりに、私はその頭の上にそれを回すことによって、問題を解決するために管理してきました。

ではなく(ドキュメント自体がプラットフォーム間で矛盾していると言う)外部シンボリックリンクを次のようにベイグラントを誑すしようとしている私がしました:

  • はベイグラント同期フォルダ
  • として、元の外部シンボリックリンク /shared_drive/packages/...を設定します。
  • 内部/project/vendor/... Morの

このフォルダに元のソースをシンボリックリンクeは、視覚的に:

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

セットアップが完全に簡単に、それは速いですが、PHPは幸せであり、それはすべてのOS間で動作するはずです:)

関連する問題