1. ホーム
  2. node.js

[解決済み] package.json (NPM)に記載されているすべての依存関係をアンインストールするにはどうすればよいですか?

2022-03-05 09:42:45

質問

アプリケーションルートにpackage.jsonファイルを定義し、以下のコマンドを実行すると、パッケージが作成されます。 npm install -g を実行すると、package.json で定義されているすべての依存関係が、グローバルにインストールされます。

しかし、これは逆には働かないようです。

もし私が npm uninstall -g を実行するとエラーが発生し、パッケージ名を渡すように要求されます。

これは、私がインストールしたのと同じパッケージもアンインストールする必要があるのでは?

私のやり方が悪いのでしょうか?

解決方法は?

Bashをお使いの場合は、package.jsonファイルがあるフォルダに移動して、以下を実行するだけです。

for package in `ls node_modules`; do npm uninstall $package; done;

グローバルにインストールされたパッケージの場合、そのパッケージの中にある %appdata%/npm フォルダ(Windowsの場合)に移動し、同じコマンドを実行します。

EDIT: npm 3.3.6 (Node 5.0)でこのコマンドは壊れました。現在は以下のBashコマンドを使用しています。.bashrcファイルでnpm_uninstall_allにマップしています。

npm uninstall `ls -1 node_modules | tr '/\n' ' '`

注:package.json と package-lock.json のレンダリングから依存関係のリストをすべて削除します。 npm install インストールされる依存関係がなくなるので、無駄です。

さらに、より高速になりました。

https://github.com/npm/npm/issues/10187