বিশ্বব্যাপী সমস্ত এনপিএম মডিউল অপসারণের আদেশ?


381

সমস্ত বিশ্বব্যাপী এনপিএম মডিউলগুলি সরিয়ে ফেলার জন্য কোনও আদেশ আছে? যদি না হয়, আপনি কি পরামর্শ?

উত্তর:


501

নিম্নলিখিত কমান্ডটি সমস্ত বিশ্বব্যাপী এনপিএম মডিউলগুলি সরিয়ে দেয়। দ্রষ্টব্য: এটি উইন্ডোজে কাজ করে না। একটি কার্যক্ষম উইন্ডোজ সংস্করণের জন্য, অলি বেনেটের উত্তর দেখুন

npm ls -gp --depth=0 | awk -F/ '/node_modules/ && !/\/npm$/ {print $NF}' | xargs npm -g rm

এটা যেভাবে কাজ করে:

  • npm ls -gp --depth=0সমস্ত গ্লোবাল শীর্ষ স্তরের মডিউল তালিকাভুক্ত করে ( এলএসের জন্য ক্লাইম ডকুমেন্টেশন দেখুন )
  • awk -F/ '/node_modules/ && !/\/npm$/ {print $NF}'সমস্ত মডিউল মুদ্রণ করে যা আসলে এনপিএম নয় (এর সাথে শেষ হয় না /npm)
  • xargs npm -g rm পূর্ববর্তী পাইপের উপরে আসা সমস্ত মডিউল বিশ্বব্যাপী সরিয়ে দেয়

3
অ্যাজক গল্ফ লোক হতে হবে না, এটি গ্রেপ ছাড়াই একক অর্ক কমান্ডে করা যেতে পারে: awk -F' |@' '/@/ {if ($(NF-1) != "npm") {print $(NF-1)}}' ব্যাখ্যা: স্পেসে বিভক্ত বা @, কেবলমাত্র @ এর সাথে লাইন মেলে, মডিউলটির নামটি শেষ ম্যাচের দ্বিতীয়টি হবে ( $(NF-1)), তাই কেবল মুদ্রণ করুন যদি তা না হয়npm
ফোটিয়াস

28
সতর্কতা: নতুন সংস্করণ এনপিএম মডিউলটি ফিল্টার করে না। আপনি এটি সরাতে চান না।
নেফফক্স

9
আমি মন্তব্যগুলি না পড়েই নতুন সংস্করণটি চালিয়েছি। সবসময় কমেন্টস পড়ুন। এখানে কীভাবে এনপিএম পুনরুদ্ধার করবেন: curl npmjs.org/install.sh | sh
জ্যাক অ্যালান

12
কি দারুন. এনপিএম জিনিসগুলি আনইনস্টল করা সহজ করে না। বান্ডলার এবং রত্নগুলির সাথে, সমস্ত কিছু আনইনস্টল করার পক্ষে এটি ক্ষুদ্র, এটি করার একটি সহজ উপায় আছে? উত্তরে প্রয়োজনীয় কোডটি আসলে কার মনে আছে?
ব্রায়ান প্রিয়

15
@ নিউভারফক্স এবং অন্যান্য: স্থির, এনপিএম নিজেই আর সরানো হয় না। অসুবিধার জন্য দুঃখিত
কাই স্টারনাদ

268

যাঁরা উইন্ডোজ ব্যবহার করছেন , সমস্ত বিশ্বব্যাপী ইনস্টল করা এনপিএম প্যাকেজগুলি সরিয়ে ফেলার সহজ উপায় হ'ল:

C:\Users\username\AppData\Roaming\npm

আপনি %appdata%/npmএক্সপ্লোরার, প্রম্পট চালানো বা শুরু মেনু থেকে টাইপ করে দ্রুত সেখানে পৌঁছে যেতে পারেন ।


5
এই একজনের জন্য ধন্যবাদ, এনপিএম-ক্যাশে সম্পর্কে কী, আমিও তা সরিয়ে ফেলব?
নিল

2
সেখানে থাকলে এনপিএম ফোল্ডারটি মুছবেন না
অটোমেটেডমাইক

এনপিএমের পরবর্তী সংস্করণগুলিতে মনে হয় %USERPROFILE%\AppData\npmএটি ছাড়া চলে গেছে roaming
লিয়াম

1
আমি সমস্ত প্যাকেজ পুনরায় ইনস্টল করছি, দৌড়ানোর সময় আমি EINTEGRITY ত্রুটিতে চলে এসেছি npm install আবার । আমার package-lock.jsonফাইলটিও মুছতে হয়েছিল ।
টোস্টিমাওলস 16

উইন্ডোতে স্কুপ ব্যবহার করে তাদের জন্য, পাথটি হ'ল: সি: \ ব্যবহারকারীদের ব্যবহারকারী নাম \ স্কুপ \ অ্যাপ্লিকেশনগুলি ode নোডেজ \ বর্তমান \ বিন \ নোড_মডিউলগুলি
অ্যারিয়েল মিররা

176

আমি চেষ্টা কাই Sternad এর সমাধান কিন্তু এটা আমার কাছে অপূর্ণ করলো। শেষের পরে অনেকগুলি বিশেষ চিহ্ন অবশিষ্ট ছিল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পার্সেবল ফর্ম্যাটে সমস্ত বিশ্বব্যাপী ইনস্টলড এনপিএম মডিউল তালিকাভুক্ত করে:

/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|)$' এনএমপি নিজেই এবং ফাঁকা লাইন সরিয়ে দেয়।

xargs -r npm -g rm কল npm -g rmতালিকার প্রতিটি মডিউল জন্য ।

মত কাই স্টারনাদের সমাধানের এটি কেবল * নিক্সের অধীনে কাজ করবে।


1
এই ফাইলগুলি কোথায় সঞ্চয় করা হয়েছে, আমি এই পদ্ধতিটিকে ঘৃণা করি। কোথাও কি কোনও বিশ্বব্যাপী প্যাকেজ.জসন নেই?
ইভান ক্যারল

2
ইভানক্রোল নোপ, এ জাতীয় কোনও ফাইল নেই তবে এর npmসমস্ত গ্লোবাল মডিউল একই ডিরেক্টরিতে ইনস্টল করে। সঠিক অবস্থানটি ভিন্ন হতে পারে তবে সাধারণত এটি /usr/local/lib/node_modules
লিওনিড বেসচাস্টনি

3
শুধু এফওয়াইআই, এটি একটি
এনপিএমও

11
এই কমান্ডটি npm ls -gp --depth=0 | awk -F/node_modules/ '{print $2}' | grep -vE '^(npm)$' | xargs npm -g rm
ওএসএক্সে

2
এই কমান্ডটি স্কোপড প্যাকেজ হ্যান্ডেল করতে ব্যর্থ হয়েছে (যেমন @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
জ্যাক কিউ

64
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 বিশ্বব্যাপী প্যাকেজ অপসারণ

এই সংস্করণটি '14 এর জুন পর্যন্ত আমার পক্ষে সবচেয়ে ভাল কাজ করেছে। তালিকা থেকে "ইউএনএমইটি" নির্ভরতাগুলি ফিল্টার করা কেবলমাত্র সংযোজন হতে পারে, তবে এটি সমালোচনা নয়, যেমনটি npm remove UNMETসহজভাবে করা হয়।
কঙ্গাক্স

4
যোগ করবে grep -v npmযাতে এনএমপি নিজেই অপসারণ না হয়:sudo npm list -g --depth=0. | grep -v npm | awk -F ' ' '{print $2}' | awk -F '@' '{print $1}' | sudo xargs npm remove -g
ব্রাওলিওো

এটি সেখানে যায়, আপনার এনপিএম!
সমস্ত Іѕ Vаиітy

26

যারা পাওয়ারশেল ব্যবহার করছেন তাদের জন্য :

npm -gp ls --depth=0 | ForEach-Object { Get-Item $_ } | Where { $_.Name -ne 'npm' } | ForEach-Object { npm rm -g $_.Name }

ক্যাশে সাফ করার জন্য:

npm cache clear

22

কেবল আপনার %appdata%/npmডিরেক্টরিতে স্যুইচ করুন এবং নিম্নলিখিতগুলি চালান ...

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

সম্পাদনা: এই কমান্ডটি এনপিএম 3.3.6 (নোড 5.0) এর সাথে বিরতি দেয়। আমি এখন নিম্নলিখিত বাশ কমান্ডটি ব্যবহার করছি, যা আমি আমার .বাশার্ক ফাইলটিতে এনপিএম_উইনস্টল_ল্যাপে ম্যাপ করেছি:

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

যুক্ত বোনাস? এটি দ্রুততর!

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

প্যাকেজ.জসন (এনপিএম) এ তালিকাভুক্ত সমস্ত নির্ভরতা আপনি কীভাবে আনইনস্টল করবেন?


এটা খুবই পছন্দ করি. দ্রুত এবং সহজ :) আমি স্রেফ npmntr
গ্রেপ

16

উইন্ডোতে "সি: \ ব্যবহারকারীদের {ব্যবহারকারীর নাম \ D অ্যাপডাটা \ রোমিং" ডিরেক্টরিতে যান এবং ম্যানুয়ালি এনপিএম ফোল্ডারটি সরান


1
এটি উইন্ডোজটিতে আমাদের জন্য সোজা / কার্যকর ছিল। ধন্যবাদ।
রোব

14

আপনি যদি ইনস্টল করা সমস্ত প্যাকেজগুলি মুছে ফেলতে চান তবে আপনি সেগুলি সন্ধান করতে npm -g lsএবং তারপরে npm -g rmসেগুলি সরাতে কমান্ডটি ব্যবহার করতে পারেন ।


7

আপনি যদি জেকিউ ইনস্টল করে থাকেন তবে আপনি গ্রেপ / অ্যাভকে / এসড ছাড়াই যেতে পারেন:

npm ls -g --json --depth=0 |
  jq -r '.dependencies|keys-["npm"]|join("\n")' |
  xargs npm rm -g

ডেবিয়ান এবং উদ্ভূত উপর আপনি এর সাথে জেকিউ ইনস্টল করতে পারেন :

sudo apt-get install jq

এটি একটি অ্যাপ্রোপোস শৈলীযুক্ত একটি শক্ত উত্তর json
রিচার্ড অায়োট

যদি সুডোর প্রয়োজন হয় তবে:npm ls -g --json --depth=0 | jq -r '.dependencies|keys-["npm"]|join("\n")' | xargs sudo npm rm -g
রজার

5

ওপি ওপি দ্বারা নির্দিষ্ট করা হয়নি। জন্য উইন্ডোজ , এই স্ক্রিপ্টের স্থানীয় nuke ব্যবহার করা যেতে পারে এবং ব্যবহারকারী বিশ্বব্যাপী মডিউল এবং ক্যাশে আছে।

আমি লিনাক্সে লক্ষ্য করেছি যে প্রদত্ত ব্যবহারকারীর পরিবর্তে গ্লোবাল রুটটি সিস্টেমে সত্যিকার অর্থে গ্লোবাল। সুতরাং গ্লোবাল রুট মুছে ফেলা একটি ভাগ করা সিস্টেমের জন্য ভাল ধারণা হতে পারে না। এদিকে, আমি স্ক্রিপ্টটি বশ করতে পারি আগ্রহী হলে ।

জন্য উইন্ডোজ , একটি 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%

3

কোনও প্যাকেজ আনইনস্টল করতে এই কোডটি ব্যবহার করুন:

npm rm -g <package_name>

1
প্রশ্নটি সমস্ত স্পষ্ট করে বলেছে, নির্দিষ্ট প্যাকেজের নাম নয়।
পোলভ

2

আপনি সব ভাল কাজ করেছেন। এটি এক লাইন কোডে সম্মিলিত পরামর্শ।

npm rm -g `npm ls -gp --depth=0 | awk -F/node_modules/ '{print $2}' | tr '/\n' ' '`

পার্থক্য কি? আনইনস্টল একক কমান্ডে করা হবে যেমন:npm rm -g *** *** ***


2

আপনি আপনার সমস্ত ইনস্টল করা এনপিএম প্যাকেজগুলি অবস্থানটিতে সনাক্ত করতে পারেন:

C:\Users\username\AppData\Roaming\npm

এবং এনএমপি এর সামগ্রী মুছে ফেলুন যা আপনি মুছে ফেলতে চান।

যদি অ্যাপডেটা প্রদর্শিত হচ্ছে না, এর অর্থ এটি লুকানো রয়েছে এবং আপনি ফাইল এক্সপ্লোরারে ভিউতে গিয়ে লুকানো আইটেমগুলি পরীক্ষা করতে পারেন তবে সেখানে আপনি সমস্ত লুকানো ফোল্ডার দেখতে পাবেন।


1

আচ্ছা আপনি যদি উইন্ডোতে থাকেন এবং সমস্ত নোড_মডিউলগুলি সরিয়ে / আনইনস্টল করতে চান তবে আপনাকে নিম্নলিখিত পদক্ষেপগুলি করতে হবে।

  1. উইন্ডোজ কমান্ড প্রম্পটে যান
  2. নোড_মডিউল ডিরেক্টরিতে নেভিগেট করুন ( নোড_মডিউল ফোল্ডারের অভ্যন্তরে নয় )
  3. কমান্ডের নীচে টাইপ করুন এবং এটি 1-2 মিনিটের জন্য দিন এটি নোড_মডিউলের সমস্ত ডিরেক্টরি আনইনস্টল করবে

     rmdir /s /q node_modules

আশা করি এটি উইন্ডোতে কাউকে সহায়তা করবে


1

আপনার যদি ইন্টেলিজ ওয়েবস্টর্ম থাকে তবে আপনি এর অন্তর্নির্মিত গ্রাফিকাল প্যাকেজ ম্যানেজারটি ব্যবহার করতে পারেন।

এটি রুট হিসাবে খুলুন এবং একটি এমটিপি প্রকল্প তৈরি করুন। যাও

ফাইল> সেটিংস> ভাষা এবং ফ্রেমওয়ার্ক> নোড.জেএস এবং এনপিএম

সেখানে আপনি সমস্ত ইনস্টল করা প্যাকেজ দেখতে পাবেন। আনইনস্টল করা সহজ, আপনি যে প্যাকেজ আনইনস্টল করতে চান তা নির্বাচন করতে এবং অনির্বাচিত করতে পারেন, পাশাপাশি Ctrl + a woks।


1

জন্য 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

এটি এনপিএমের ক্ষেত্রেও প্রযোজ্য হওয়া উচিত, তবে এনপিএম গ্লোবালটি কোথায় সংরক্ষণ করা হয়েছে তা আমি ঠিক জানি না।


0
npm ls -gp | awk -F/ '/node_modules/&&!/node_modules.*node_modules/&&!/npm/{print $NF}' | xargs npm rm -g

0

যেহেতু অনুসন্ধানের শীর্ষস্থানীয় উত্তর তাই আমি এটি এখানে পোস্ট করছি কারণ এটি ছিল কম্পিউটার স্যুইচিং ল্যাপটপগুলি পরিষ্কার করার জন্য আমি অতীতে ব্যবহৃত সমাধান।

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


0

এখানে একটি আরও মার্জিত সমাধান যা আমি চেষ্টা করেছি যেখানে এনপিএম আমার জন্য সমস্ত কাজ করতে দেয়।

# 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এই মডিউলগুলি এমনভাবে বিবেচনা করা হবে যা তারা কোনও প্রকল্পের সাধারণ নির্ভরতা। এটি সম্পন্ন হওয়ার পরে এমনকি এটি একটি প্যাকেজ-লক.জসন ফাইল তৈরি করে:

$ npm remove <package-name> # you may need sudo if it was installed using sudo  

-1

সেড দ্রবণ

npm -gp ls | sed -r '/npm$|(node_modules.*){2,}/d; s:.*/([^/]+)$:\1:g' | xargs npm rm -g

-5

আপনার কনসোলটি স্রেফ রাখুন:

sudo npm list -g --depth = 0। | awk -F '' '{মুদ্রণ $ 2}' | awk -F '@' '{মুদ্রণ $ 1}' | sudo xargs এনপিএম অপসারণ -জি

এটি আমার জন্য কাজ ...


1
ইতিমধ্যে এখানে উল্লিখিত সমাধানের সঠিক কোপ্ট , এটি একই পৃষ্ঠায়।
ivarni
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.