2013-11-20 62 views
16

私はpackage.jsonを持っています。私はdevDependenciesです。なぜnpm pruneでnode_modulesからフォルダを削除しないのですか?

私は、依存関係を削除してnpm pruneを実行すると、ノードはnode_modulesからモジュールフォルダを削除することを理解しました。これは私のnode_modulesフォルダを維持する最も簡単な方法のようです。 docsから

NPMのプルーン

は、このコマンドは、 "余分な" パッケージを削除余分なパッケージ

を削除します。

異種パッケージは、親の パッケージの依存関係リストに記載されていないパッケージです。

ただし、実行した後でも、npm prune私はまだnode_modulesにモジュールフォルダがあります。

なぜこれが起こり、未使用のモジュールを削除する正しい方法はありますか?

+1

'npm list'を実行します。問題のフォルダは推移的依存関係(依存関係の依存関係)ですか? –

答えて

9

--productionフラグが指定されている場合はdocumentation

によると、このコマンドは、あなたのdevDependenciesで指定 パッケージを削除します。だから、

あなたはdevDependenciesに指定されているnode_modulesのモジュールフォルダを取り除きたい場合は、あなたが実行した後

npm prune --production

+1

私のdevDependenciesで指定されていないフォルダを削除したいと思います。これはあなたが示唆しているものとは異なります。私は自分の依存関係に書かれているものだけを含むようにnode_modulesフォルダを作り、前に使われた余分なモジュールは入れないようにします。 – elanh

+0

「私のdevDependenciesに指定されていません」と言っていると、正規の依存関係で指定されているか、まったくpackage.jsonに存在しません。 –

+2

私は彼らがパッケージに入っていないことを意味します。 – elanh

5

を実行しなければならない。

npm ls 

参照:

0私が行ったとき
npm ERR! extraneous: [email protected] /path/to/package 

その後:

npm prune 

パッケージがアンインストールされました。

関連する問題