2012-03-19 11 views
2

として私たちは、3つのリポジトリから成るように我々のアプリを構築しています展開プライベートリポジトリ依存

  1. フロントエンド(これが展開されている)
  2. 共有
  3. コア

これらはすべてプライベートですGitHubのGitリポジトリ。

私のpackage.jsonファイルの関連部分は次のようになります。

"dependencies": { 
    "express": "2.5.x", 
    "coffeecup": "0.3.x", 
    "socket.io": "0.8.x", 
    "connect-mongodb": "1.x", 
    "app-core": "git+ssh://[email protected]:...git", 
    "app-shared": "git+ssh://[email protected]:...git" 
    }, 
    "devDependencies": { 
    "mongoskin": "*", 
    "bcrypt": "*", 
    "libxml-to-js": "0.3.x" 
    }, 
    "bundleDependencies": [ 
    "app-core", 
    "app-shared" 
    ], 
    "analyze": true 

私はNodejitsuにデプロイする場合それを動作させるための唯一の方法は、共有し、私が展開し、リポジトリのdevDependenciesにおけるコアの依存関係していることですしかし、devDependenciesは開発のためであり、生産のためのものではないので、それは間違った解決策と思われます。

私もShrinkwrappingを試しましたが、無駄です。

もっと良い解決方法を知っている人はいますか?

答えて

0

自分のマシンからgithubにしかsshできません。

git+ssh://[email protected]からhttps://github.com/...

+0

NodejitsuではプライベートSSH鍵を持つことができないので、私的な代理人をフェッチできないため、bundleDependenciesが必要です。 – webjay

1

"bundleDependencies"にレポのURLが動作するはずです変更。 jitsu deployの場合、依存関係を分析して追加しようとしますが、--noanalyzeでこれを無効にすることができます。あなたがnode_modules/app-corenode_modules/app-sharedにあなたの依存関係を持っているなら、なぜそれがうまくいかないのかわかりません。 jitsu deployのような詳細情報を表示できますか?

EDIT:ああ、あなたがそれらをdevDependenciesに入れて、Nodejitsuにインストールしないようにしてください。ええ、それはサブフォームとして依存関係をバンドルしたいだけで、dependenciesまたはdevDependenciesの中にそれらを含めたくない場合を除いて、あなたはそれをやると思います。