1

私は今日Sails.jsをインストールしていましたが、同じパッケージを何度もインストールする方法を確認しました (アプリの依存関係の依存関係)。なぜ npm は gem のようなシステムを使用しないのでしょうか? ライブラリと彼のさまざまなバージョンをグローバルに保持します。サーバーに複数のプロジェクトがあり、同じライブラリを何度もインストールしない場合は、同じライブラリを共有するのがクールです(npmリンクの回避策であることはわかっていますが、ベスト プラクティスとは見なされません)。

4

2 に答える 2

3

依存関係の管理が難しい。npm は、パッケージを共有せず、すべてのパッケージに独自の node_modules フォルダーがあることを強く主張しています。これにより、多くの潜在的な落とし穴を回避できます。パッケージは非常に小さいため、ほとんどの場合、依存関係のバージョン管理に関連する問題を追跡するよりも、わずかに多くのディスク スペースを使用する方が適切です。

また興味深いことに、git に node_modules を含めるタイミングに注意してください。http://www.futurealoof.com/posts/nodemodules-in-git.html

于 2013-04-09T02:18:54.707 に答える
2

この機能の選択について私が推測できる最善の推測は、製品が使用できるライブラリのバージョンが異なることです。Connect 2.8 を使用している可能性がありますが、Connect のバージョンと互換性のない Connect 1.5 を使用している可能性があります。

于 2013-04-09T02:14:39.817 に答える