グラントプロジェクトで使用するnode/npmを更新しました。
しかし、プロジェクトにパッケージを追加したい場合、myproject/
(npm install grunt-favicon
など)はmyproject/node_modules/
に数百のフォルダを追加するように見えますが、1つを追加するためにのみ使用されていました。 node_modules/grunt-favicon
など。
これらのことについての私の知識は基本的なものですが、これらは必須の依存関係であるようであり、これらの項目の一部でさえ、さらに多くの依存関係があります。
これらの依存関係を他の場所に追加するべきではありませんか?もしそうなら、これをどのように修正するのですか?
npm 3.3.5
、node 4.1.1
、grunt-cli v0.1.13
、grunt v0.4.5
を使用しています。
このスクリーンショットでは、左側に~/.npm
、右側に~/myproject/node_modules
が表示されています。
これは正しいです、心配しないでください。パッケージをローカルにインストールしていますが、ディレクトリ構造が少し異なっています。これは、npm v3.0.0でが変更された動作です:すべての依存関係の依存関係がnode_modules
フォルダーに直接インストールされます(限り)これはバージョンの競合を引き起こさないため)。これにより、ファイルツリーのサイズが大幅に縮小されます。
npm 3.0.0リリースノート から:
フラット、フラット、フラット!
これで、依存関係は最大限にフラットにインストールされます。可能な限り、すべての依存関係とその依存関係、およびそれらの依存関係は、ネストせずにプロジェクトのnode_modulesフォルダーにインストールされます。 2つ(またはそれ以上)のモジュールが競合する依存関係を持っている場合にのみ、モジュールが相互にネストされて表示されます。