package.json
ファイルに記載されている依存関係をインストールするのにnpm install --dev
を使用しました。すべてのパッケージをフラットな構造でインストールするのではなく、ディレクトリ。npmは奇妙な再帰的な方法で依存関係をインストールしています
多くの依存関係はすでに満足していたはずですが、別の入れ子になったディレクトリにそれらを再ダウンロードする必要があったため、取り消しが必要でした(ループがないことを願っています。
├── grunt-cli
│ └── node_modules
│ ├── findup-sync
│ │ └── node_modules
│ │ ├── glob
│ │ │ └── node_modules
│ │ │ ├── minimatch
│ │ │ │ └── node_modules
│ │ │ │ ├── lru-cache
│ │ │ │ │ └── node_modules
│ │ │ │ │ └── weak
│ │ │ │ │ └── node_modules
│ │ │ │ │ └── mocha
│ │ │ │ │ └── node_modules
│ │ │ │ │ ├── coffee-script
│ │ │ │ │ │ └── node_modules
│ │ │ │ │ │ └── jison
│ │ │ │ │ │ └── node_modules
│ │ │ │ │ │ └── browserify
│ │ │ │ │ │ └── node_modules
│ │ │ │ │ │ ├── browser-resolve
│ │ │ │ │ │ │ └── example
すべてのアイデアは、なぜこれが起こっされることがあります。最終的に、これは私が取得しています何の一例であるtreeコマンドを使用して...
)終了?
なぜですか?私はウェブを検索するときにこのアプローチの有効な議論を見つけるのに苦労しています。グローバルにインストールする、またはフラットな構造を使用することで何が問題になりますか?これは実際にどのような問題を解決しますか?フラットな構造にすべてをインストールし、競合を避けるためにディレクトリ名にバージョンを含めるのと同じようです。現在の実装は非常に非効率的です。 – Danny
この記事をチェックアウト@Danny:http://dontkry.com/posts/code/modules-the-right-way.html – jackyalcine
THANKS @jackyalcineそのリンクです。私はNPMに非常に不満でした。しかし、この記事ではすべてをクリアし、ディレクトリの深さの問題を管理するためのすばらしいツールを提供しています。 (はい、私は悲しいことに、windozを使用しています)。 –