2013-08-02 2 views
7

開発プロセスの変更をVagrantに向かって評価していますが、私はしばしば相互に依存する、まだリリースされていないノードモジュールを開発します。npm linknag-linked依存関係のあるVagrantの使用

ゲストマシンで共有されるすべてのソースファイルがVagrantにあるわけではないため、シンボリックリンクnpm linkは、これらのモジュールを互いに同期させて開発する手段としてはもはや十分ではありません。 1つは、npm linkというハードを作成する方法がないようです。リンク。 2の場合は、ボード全体でシンボリックリンク先を共有するラ以下はスケールしません。

config.vm.synced_folder "/usr/local/share/npm/lib/node_modules", "/usr/lib/node_modules" 

を今、質問を。上記のいずれかが間違っていますか(たとえば、npmでハードリンクがサポートされていて、それを見逃していましたか?バグを介してテストが行​​われ、相互に関連したプライベートノードモジュールを開発するために人々がどのようなプロセスを使用していましたか?

EDIT:最終的に、私はMac & Windowsで動作するソリューションを望んでいます。また、記録のために、私はノードモジュールをリンクすることがどのようにハードに働くかを詳しく知りたいわけではありません。私は、この珍しくないワークフローを改善するためにVagrantを活用しようとしています。

+0

なぜ 'synced_folder 'を使っていると縮尺が変わっていないと言いますか?ホストnode_modulesのパスは相対的ではないため? –

+0

Jeff - 各 'synced_folder'に必要な新しい定型文の量のために、スケールされません。 – Schoonology

答えて

1

アイデア:VM同期機能を使用する代わりに、VMで共有サービスを使用して、ホストOSからファイルにアクセスできるようにします。

たとえば、VMがLinuxを実行し、ホストOSがWindowsの場合、sambaを起動して関連するディレクトリを共有するように設定できます。次に、ホストOSにsamba共有をマップさせます。

ホストOSがMacの場合は、macfuseなどを使用して、SSH経由でVMにディレクトリをマウントできます。

幸運を祈る!

関連する問題