2

私はnode.jsとexpressの初心者です。npm install「package.json」を使用して、node.js モジュールの依存関係を解決できることがわかりました。このコマンドは、必要なモジュールをローカルにインストールします。これは、私には C++ の静的ライブラリのように見えます。

2 つの質問があります。

  1. モジュールのグローバル インストールをnpm install -gいつ使用し、いつローカル インストールを使用する必要がありますか (特に高速アプリケーションの場合)。

  2. バージョン管理にはgitを使用しています。ローカルにインストールされたサードパーティの node.js モジュールをリポジトリに追加する必要がありますか? モジュールはサイズが大きく、確かに私のコードではないようです。これらのモジュールのバージョン管理について混乱しています。

ヘルプやヒントは大歓迎です。事前に感謝します!

4

3 に答える 3

2

1: Expresss のようにコマンド ラインから使用するモジュールをグローバルにインストールし、その他はローカルにインストールします。わからない場合は、両方の場所にインストールしてください

詳細: http://blog.nodejs.org/2011/03/23/npm-1-0-global-vs-local-installation/

2: 依存関係を git にアップロードしないでください。具体的なバージョン番号を package.json ファイルで指定できるため、必要ありません。node-modulesに追加.gitignore

于 2013-04-04T07:13:06.577 に答える
2

1

一般に、常に package.json で依存関係を指定し、npm install. そうすることの利点は、プロジェクトの依存関係の明示的なリストがあり、git でモジュールをチェックインする必要がないことです。

グローバルにインストールする必要があるモジュールがいくつかありますが、その場合はドキュメントで指定する必要があり、多くの場合、それらのモジュールはプロジェクトの一部ではないと見なすことができます。たとえば、Grunt を使用している場合、grunt-cli はコマンド ライン コマンドを追加するため、グローバルにインストールする必要がありますが、コードでは実際には使用されません。

2

@pfried が上で述べたように、モジュールで作業している場合は、依存関係をチェックインしないことがベスト プラクティスと見なされます。ただし、他の人に配布することを想定していない完全な Web サイト/アプリケーションで作業している場合は、依存関係もチェックインする方が有利な場合があります。

これは、 を指定した場合でも"express": "3.0.1"、express の依存関係の 1 つが "0.xx" として指定されている可能性があるためです。そのため、後で実稼働サーバーにアプリケーションをインストールすると、別のバージョンと検出しにくいバグが発生する可能性があります。依存関係をチェックインすることで、ローカル サーバー、ステージ サーバー、および運用サーバーの間でコードに違いが生じないことを完全に確信できます。

于 2013-04-04T07:41:48.700 に答える
0
  1. なし (代わりに PATH を適切に設定してください)
  2. いいえ(git はソース コード用です)。12factor.netもご覧ください
于 2013-04-04T07:44:34.730 に答える