回答:
次のコマンドは、すべてのグローバルnpmモジュールを削除します。注:これはWindowsでは機能しません。動作しているWindowsバージョンについては、Ollie Bennettの回答を参照してください。
npm ls -gp --depth=0 | awk -F/ '/node_modules/ && !/\/npm$/ {print $NF}' | xargs npm -g rm
以下にその仕組みを示します。
npm ls -gp --depth=0
すべてのグローバルトップレベルモジュールをリストします(lsのcliドキュメントを参照)awk -F/ '/node_modules/ && !/\/npm$/ {print $NF}'
実際にはnpm自体ではないすべてのモジュールを出力します(末尾がでない/npm
)xargs npm -g rm
前のパイプから来るすべてのモジュールをグローバルに削除しますWindowsを使用している場合、グローバルにインストールされたすべてのnpmパッケージを削除する最も簡単な方法は、次の内容を削除することです。
C:\Users\username\AppData\Roaming\npm
%appdata%/npm
エクスプローラー、実行プロンプト、またはスタートメニューから入力することで、すばやくそこにたどり着くことができます。
%USERPROFILE%\AppData\npm
なしでに移動したようroaming
です。
npm install
再度実行するとEINTEGRITYエラーが発生しました。package-lock.json
ファイルも削除する必要がありました。
私はKai Sternadの解決策を試しましたが、それは私には不完全に思えました。awk
depsツリー自体からの最後の後に残っている特別なシンボルがたくさんありました。
だから、私はカイ・スターナドの解決策を自分で修正しました(カシミヤのアイデアから少し助けて):
npm ls -gp --depth=0 | awk -F/node_modules/ '{print $2}' | grep -vE '^(npm|)$' | xargs -r npm -g rm
npm ls -gp --depth=0
グローバルにインストールされたすべてのnpmモジュールを解析可能な形式で一覧表示します。
/home/leonid/local/lib
/home/leonid/local/lib/node_modules/bower
/home/leonid/local/lib/node_modules/coffee-script
...
awk -F/node_modules/ '{print $2}'
パスからモジュール名を抽出し、グローバルにインストールされたすべてのモジュールのリストを形成します。
grep -vE '^(npm|)$'
npm自体と空白行を削除します。
xargs -r npm -g rm
npm -g rm
リスト内の各モジュールを呼び出します。
Kai Sternadのソリューションと同様に、* nixでのみ機能します。
npm
そのようなファイルはありませんが、すべてのグローバルモジュールを同じディレクトリにインストールします。正確な場所は異なる場合がありますが、通常は/usr/local/lib/node_modules
です。
npm ls -gp --depth=0 | awk -F/node_modules/ '{print $2}' | grep -vE '^(npm)$' | xargs npm -g rm
@angular/cli
)の処理に失敗しました。私はのために別の照合を追加awk
し、私のために働いコマンドは次のようになりますnpm ls -gp --depth=0 | awk -F/ '/node_modules\/@/ {print $(NF-1)"/"$NF} /node_modules\/[^@]/ && !/\/npm$/ {print $NF}' | xargs npm -g rm
sudo npm list -g --depth=0. | awk -F ' ' '{print $2}' | awk -F '@' '{print $1}' | sudo xargs npm remove -g
私のために働いた
sudo npm list -g --depth=0.
インストールされているすべてのトップレベルをリストしますawk -F ' ' '{print $2}'
├──を取り除くawk -F '@' '{print $1}'
「@」の前の部分を取得しますsudo xargs npm remove -g
パッケージをグローバルに削除しますnpm remove UNMET
単にNOOPを実行するので、これは重要ではありません。
grep -v npm
:NPM自体は削除されないようにsudo npm list -g --depth=0. | grep -v npm | awk -F ' ' '{print $2}' | awk -F '@' '{print $1}' | sudo xargs npm remove -g
%appdata%/npm
ディレクトリに切り替えて、次を実行してください...
for package in `ls node_modules`; do npm uninstall $package; done;
編集:このコマンドはnpm 3.3.6(ノード5.0)で中断します。現在、次のBashコマンドを使用しています。これは、.bashrcファイルのnpm_uninstall_allにマップしています。
npm uninstall `ls -1 node_modules | tr '/\n' ' '`
ボーナスを追加しましたか?とても速いです!
npm
を使用し、そのn
前にtr
Windowsでは、「C:\ Users {username} \ AppData \ Roaming」ディレクトリに移動し、npmフォルダーを手動で削除します
jqがインストールされている場合は、grep / awk / sedがなくても実行できます。
npm ls -g --json --depth=0 |
jq -r '.dependencies|keys-["npm"]|join("\n")' |
xargs npm rm -g
Debianおよび派生では、次のコマンドでjqをインストールできます。
sudo apt-get install jq
json
なスタイルでの確かな答えです。
npm ls -g --json --depth=0 | jq -r '.dependencies|keys-["npm"]|join("\n")' | xargs sudo npm rm -g
OPで指定されていないOS。以下のためのWindows、このスクリプトは、ローカルおよびユーザーのグローバルモジュールとキャッシュをNukeのために使用することができます。
私は上に気づいLinuxの世界的なルートは、システムの代わりに、指定したユーザーに、真にグローバルであること。そのため、共有システムでは、グローバルルートを削除することはお勧めできません。それはさておき、興味があればスクリプトをbashに移植できます。
以下のためのWindows、実行にcmdをファイルに保存します。
@ECHO OFF
SETLOCAL EnableDelayedExpansion
SETLOCAL EnableExtensions
SET /A ecode=0
:: verify
SET /P conf="About to delete all global and local npm modules and clear the npm cache. Continue (y/[n])?
IF /I NOT "%conf%"=="y" (
ECHO operation aborted
SET /A ecode=!ecode!+1
GOTO END
)
:: wipe global and local npm root
FOR %%a IN ("" "-g") DO (
:: get root path into var
SET cmd=npm root %%~a
FOR /f "usebackq tokens=*" %%r IN (`!cmd!`) DO (SET npm_root=%%r)
:: paranoid
ECHO validating module path "!npm_root!"
IF "!npm_root:~-12!"=="node_modules" (
IF NOT EXIST "!npm_root!" (
ECHO npm root does not exist "!npm_root!"
) ELSE (
ECHO deleting "!npm_root!" ...
:: delete
RMDIR /S /Q "!npm_root!"
)
) ELSE (
ECHO suspicious npm root, ignoring "!npm_root!"
)
)
:: clear the cache
ECHO clearing the npm cache ...
call npm cache clean
:: done
ECHO done
:END
ENDLOCAL & EXIT /b %ecode%
Intellij Webstormを使用している場合は、組み込みのグラフィカルパッケージマネージャーを使用できます。
ルートとして開き、空のプロジェクトを作成します。に行く
ファイル>設定>言語とフレームワーク> Node.jsとNPM
そこには、インストールされているすべてのパッケージが表示されます。アンインストールは簡単です。アンインストールするパッケージを選択したり、選択を解除したりできます。Ctrl+ Aキーを押すこともできます。
これは検索のトップアンサーなので、これをここに投稿します。これは、過去にコンピュータースイッチングラップトップをクリーニングするために使用したソリューションだったためです。
cd ~/Documents # or where you keep your projects
find . -name "node_modules" -exec rm -rf '{}' +
ソース:https : //winsmarts.com/delete-all-node-modules-folders-recursively-on-windows-edcc9a9c079e
これは、npmにすべての作業を任せて試した、よりエレガントなソリューションです。
# On Linux Mint 19.1 Cinnamon
# First navigate to where your global packages are installed.
$ npm root # returns /where/your/node_modules/folder/is
$ cd /where/your/node_modules/folder/is # i.e for me it was cd /home/user/.npm-packages/lib/node_modules
あなたが行う場合、npm uninstall
またはnpm remove
、彼らはプロジェクトの通常の依存関係であるかのように、これらのモジュールは、処理されます。完了すると、package-lock.jsonファイルも生成されます。
$ npm remove <package-name> # you may need sudo if it was installed using sudo
コンソールに入れるだけです:
sudo npm list -g --depth = 0。| awk -F '' '{print $ 2}' | awk -F '@' '{print $ 1}' | sudo xargs npm remove -g
私にとってのその仕事...
awk -F' |@' '/@/ {if ($(NF-1) != "npm") {print $(NF-1)}}'
。説明:スペースの分割または@のみ@で行が一致し、モジュール名は、最後のマッチ(2番目になります$(NF-1)
)、これだけ印刷そうでない場合npm