जवाबों:
निम्न आदेश सभी वैश्विक npm मॉड्यूल को निकालता है। नोट: यह विंडोज पर काम नहीं करता है। काम करने वाले विंडोज संस्करण के लिए, ओली बेनेट का उत्तर देखें ।
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
पिछले पाइप पर आने वाले विश्व स्तर के सभी मॉड्यूल को हटा देता हैविंडोज का उपयोग करने वालों के लिए , विश्व स्तर पर स्थापित एनपीएम पैकेजों को हटाने का सबसे आसान तरीका है:
C:\Users\username\AppData\Roaming\npm
आप %appdata%/npm
एक्सप्लोरर, टाइप प्रॉम्प्ट, या प्रारंभ मेनू से टाइप करके जल्दी से वहाँ पहुँच सकते हैं ।
%USERPROFILE%\AppData\npm
बिना स्थानांतरित किया गया है roaming
।
npm install
फिर से चलने पर मैं EINTEGRITY त्रुटियों में भाग गया । मुझे अपनी package-lock.json
फाइल भी डिलीट करनी थी ।
मैंने काई स्टर्नड के समाधान की कोशिश की लेकिन यह मेरे लिए अपूर्ण था। awk
डिप्स के पेड़ से आखिरी के बाद बहुत सारे विशेष प्रतीकों को छोड़ दिया गया था ।
इसलिए, मैं काई स्टर्नड के समाधान के अपने स्वयं के संशोधन के साथ आया ( कश्मीरी के विचार से थोड़ी मदद के साथ ):
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
सूची में प्रत्येक मॉड्यूल के लिए कॉल करता है ।
जैसा काई 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
Powershell का उपयोग करने वालों के लिए :
npm -gp ls --depth=0 | ForEach-Object { Get-Item $_ } | Where { $_.Name -ne 'npm' } | ForEach-Object { npm rm -g $_.Name }
कैश साफ़ करने के लिए:
npm cache clear
बस अपनी %appdata%/npm
निर्देशिका में स्विच करें और निम्नलिखित चलाएँ ...
for package in `ls node_modules`; do npm uninstall $package; done;
EDIT: यह कमांड npm 3.3.6 (नोड 5.0) के साथ टूटती है। अब मैं निम्नलिखित बैश कमांड का उपयोग कर रहा हूं, जिसे मैंने अपने .bashrc फ़ाइल में npm_uninstall_all में मैप किया है।
npm uninstall `ls -1 node_modules | tr '/\n' ' '`
जोड़ा गया बोनस? यह तेजी से रास्ता है!
https://github.com/npm/npm/issues/10187
आप पैकेज.जॉन (एनपीएम) में सूचीबद्ध सभी निर्भरता की स्थापना कैसे रद्द करते हैं?
npm
और n
इससे पहलेtr
खिड़कियों में "C: \ Users {उपयोगकर्ता नाम} \ AppData \ Roaming" निर्देशिका पर जाएं और मैन्युअल रूप से npm फ़ोल्डर निकालें
यदि आपने jq स्थापित किया है, तो आप बिना grep / awk / sed के भी जा सकते हैं:
npm ls -g --json --depth=0 |
jq -r '.dependencies|keys-["npm"]|join("\n")' |
xargs npm rm -g
डेबियन और व्युत्पन्न पर आप के साथ 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
ओएस ओपी द्वारा निर्दिष्ट नहीं है। के लिए विंडोज , इस स्क्रिप्ट स्थानीय परमाणु करने के लिए इस्तेमाल किया जा सकता है और उपयोगकर्ता वैश्विक मॉड्यूल और कैश है।
मैंने लिनक्स पर ध्यान दिया कि वैश्विक रूट सही मायने में दिए गए उपयोगकर्ता के बजाय सिस्टम के लिए वैश्विक है। इसलिए वैश्विक जड़ को हटाना एक साझा प्रणाली के लिए एक अच्छा विचार नहीं हो सकता है। एक तरफ, मैं स्क्रिप्ट को बैश करने के लिए पोर्ट कर सकता हूं अगर दिलचस्पी हो तो ।
के लिये विंडोज , एक 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%
किसी भी पैकेज की स्थापना रद्द करने के लिए इस कोड का उपयोग करें:
npm rm -g <package_name>
आप स्थान पर अपने सभी स्थापित npm संकुल ढूँढ सकते हैं:
C:\Users\username\AppData\Roaming\npm
और npm की सामग्री को हटा दें जिसे आप हटाना चाहते हैं।
यदि AppData नहीं दिखा रहा है, तो इसका मतलब है कि यह छिपा हुआ है और आप फ़ाइल एक्सप्लोरर में व्यू पर जा सकते हैं और हिडन आइटम्स की जांच कर सकते हैं, फिर वहां आप सभी छिपे हुए फ़ोल्डर देख सकते हैं।
खैर अगर आप खिड़कियों पर हैं, और सभी नोड_मॉडल को हटाना / अनइंस्टॉल करना चाहते हैं तो आपको निम्न चरणों को करने की आवश्यकता है।
कमांड के नीचे टाइप करें और इसे 1-2 मिनट के लिए दे दें यह सभी निर्देशिकाओं को नोड_मॉडल के अंदर अनइंस्टॉल कर देगा
rmdir /s /q node_modules
आशा है कि यह खिड़कियों पर कुछ मदद करेगा
अगर आपके पास Intellij Webstorm है तो आप इसके बिल्ट-इन ग्राफिकल पैकेज मैनेजर का उपयोग कर सकते हैं।
इसे रूट के रूप में खोलें और एक emtpy प्रोजेक्ट बनाएं। के लिए जाओ
फ़ाइल> सेटिंग्स> भाषा और फ्रेमवर्क> नोड.जेएस और एनपीएम
वहां आपको सभी स्थापित पैकेज दिखाई देंगे। अनइंस्टॉल करना आसान है, आप जिस भी पैकेज को अनइंस्टॉल करना चाहते हैं, उसका चयन और चयन रद्द कर सकते हैं, Ctrl + woks भी।
के लिये yarn global
nano ~/.config/yarn/global/package.json
<Manually remove all packages from package.json>
yarn global add
या, अगर आपको इस बात की परवाह नहीं है कि वास्तव में अंदर क्या है package.json
echo {} > ~/.config/yarn/global/package.json && yarn global add
यह एनपीएम पर भी लागू होना चाहिए, लेकिन मुझे यह बिल्कुल पक्का नहीं है कि एनपीएम ग्लोबल कहां संग्रहीत है।
चूंकि यह खोज में शीर्ष उत्तर है, मैं इसे यहां पोस्ट कर रहा हूं क्योंकि यह वह समाधान था जिसका उपयोग मैंने अतीत में कंप्यूटर स्विचिंग लैपटॉप को साफ करने के लिए किया था।
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
इन मॉड्यूलों के साथ ऐसा व्यवहार किया जाएगा जैसे कि वे एक परियोजना की सामान्य निर्भरता थे। यहां तक कि यह एक पैकेज- lock.json फ़ाइल भी बनाता है जब यह किया जाता है:
$ npm remove <package-name> # you may need sudo if it was installed using sudo
बस अपने कंसोल में रखें:
सुदो एनपीएम सूची -g - डेप्थ = ०। | awk -F '' '{प्रिंट $ 2}' | awk -F '@' '{प्रिंट $ 1}' | सूदो xargs npm हटाने -g
मेरे लिए इसका काम ...
awk -F' |@' '/@/ {if ($(NF-1) != "npm") {print $(NF-1)}}'
स्पष्टीकरण: रिक्त स्थान या @ पर विभाजित करें, @ के साथ केवल मैच लाइनें, मॉड्यूल नाम दूसरे से अंतिम मैच ($(NF-1)
) होगा, इसलिए केवल प्रिंट करें अगर यह नहीं हैnpm