web-dev-qa-db-ja.com

コマンドラインを使用して、指定したパスからnode_modulesフォルダーを再帰的に削除します

ローカルディレクトリに複数のnpmプロジェクトを保存しています。ここで、node_modulesフォルダーを使用せずにプロジェクトのバックアップを取得します。これは、多くのスペースを必要とし、npm installを使用していつでも取得できるためです。

そのため、コマンドラインインターフェイスを使用して、指定したパスからすべてのnode_modulesフォルダーを再帰的に削除するソリューションが必要です。提案/ヘルプは非常にわかりやすいものです。

46
Sumit

削除するディレクトリのリストを印刷します。

find . -name 'node_modules' -type d -Prune

現在の作業ディレクトリからディレクトリを削除します。

find . -name 'node_modules' -type d -Prune -exec rm -rf '{}' +

または、 trashbrew install trash)段階的削除の場合:

find . -name node_modules -type d -Prune -exec trash {} +
112
Darius M.

受け入れられた答えを改善し、

find . -name 'node_modules' -type d -Prune -exec rm -rf '{}' +

コマンドを非常に長い時間実行してすべてのフォルダーを取得してから削除コマンドを実行し、\;および実行中のコマンドの進行状況を確認するには、-print削除されるディレクトリを確認します。

注:最初にcdをルートディレクトリに入れてから、コマンドを実行するか、find . つかいます find {project_directory}

フォルダーを1つずつ削除するには

find . -name 'node_modules' -type d -Prune -exec rm -rf '{}' \;

フォルダーを1つずつ削除し、削除するフォルダーを印刷するには

find . -name 'node_modules' -type d -Prune -print -exec rm -rf '{}' \;
10
Sidharth

私はこのソリューションに出会いました、

  • 最初にfindを使用してフォルダーを見つけ、フォルダーの名前を指定します。
  • deleteコマンドを再帰的に実行します-exec rm -rf '{}' +

次のコマンドを実行して、フォルダーを再帰的に削除します

find /path -type d -name "node_modules" -exec rm -rf '{}' +

8
Sumit

これは本当にうまくいく

find . -name "node_modules" -exec rm -rf '{}' +
1
Ankit Sinha