2012-10-25 24 views
446

Jak powszechnie wiadomo, każdy moduł npm można zainstalować, uruchamiając proste polecenie: npm install <module_name>.jak odinstalować moduły npm w węźle js?

Mam zainstalowane kilka modułów, których już nie używam i po prostu chcę je wyłączyć. Mam kilka pytań odnośnie tego:

  • Czy mamy jakieś polecenie lub proces odinstalowania modułu z korzenia (coś jak npm uninstall <module_name>) lub po prostu usuwając pliki Moduł zrobić?

  • Jak to wpływa na nas, jeśli trzymamy nieużywane moduły?

+2

Jeśli chcesz usunąć wszystkie moduły NPM, przejdź tutaj: http://stackoverflow.com/questions/9283472/command-to-remove-all-npm- moduły-globalnie/9283646 # 9283646 – daniel

+1

'npm uninstall --save' from również usunąć 'pakiet.json' – vineet

Odpowiedz

606

Polecenie to po prostu npm uninstall <name>

Dokumenty nodejs https://npmjs.org/doc/ mają wszystko, co potrzebne, aby wiedzieć z KMP polecenia.

Instalacja lokalna będzie znajdować się w katalogu Twojej aplikacji pod numerem node_modules/. Nie wpłynie to na aplikację, jeśli moduł pozostaje bez odniesienia do niej.

Jeśli usuwasz pakiet globalny, wszelkie aplikacje, które się na nim odwołują, ulegną awarii.

Tutaj są różne opcje:

npm uninstall <name> usuwa moduł z node_modules, ale nie package.json

npm uninstall <name> --save również usunięcie go z dependencies w package.json

npm uninstall <name> --save-dev Usuwa również z devDependencies w package.json

npm -g uninstall <name> --save usuwa również globalnie

+19

czy istnieje sposób na odinstalowanie wszystkich modułów w zakresie globalnym? –

+8

spróbuj tego 'npm -g ls | grep -v 'npm @' | awk '/ @/{print $ 2}' | awk -F @ '{print $ 1}' | xargs npm -g rm', aby odinstalować wszystkie moduły zainstalowane gobally. jeśli jesteś w systemie Windows, musisz zainstalować Cygwin lub git, aby go uruchomić. –

+132

Kilka wskazówek: 'npm uninstall ' usuwa moduł z node_modules, ale nie package.json. Wykonaj 'npm uninstall --save', aby również usunąć zależność z package.json. Wykonaj 'npm -g uninstall --save', aby usunąć zależność globalnie. –

14

po prostu zainstalować rysika domyślnie pod moim domowym katalogu, więc po prostu używać npm uninstall stylus aby go odłączyć, lub można spróbować npm rm <package_name> out.

+0

npm rm wykonał zadanie, podczas gdy npm uninstall nie mógł. Dziękuję Ci! –

60

Jeśli nie działa z npm uninstall <module_name> spróbuj go globalnie, wpisując -g.

Może po prostu musisz to zrobić jako superUser/administrator z sudo npm uninstall <module_name>.

+3

'-g' jest pomocne, jeśli istnieje' npm WARN uninstall'. –

32

Dobrze dać pełną odpowiedź na to pytanie, istnieje two methods: (na przykład nazywamy zainstalowany moduł jako Module1)

  1. Aby usunąć Module1 bez zmieniając package.json:

    npm uninstall module1

  2. Aby usunąć module1 z zmienia pa ckage.json i usuwanie go z zależności w pakiecie.json:

    npm uninstall --save module1

Uwaga: w celu uproszczenia powyższe polecenia, można użyć -S zamiast --save, i może korzystać usunąć, rm, r, un, odłączyć zamiast odinstaluj

+0

Ze względu na kompletność należy uważać, czy chce usunąć zależność GLOBALNEJ lub LOKALNEJ. Dla globali użyj -g z powyższym! Także: Do odinstalowywania wszystkich modułów globalnych: https: // stackoverflow.com/questions/5926672/where-does-npm-install-packages I usuń folder node_modules Do odinstalowania wszystkich lokalnych modułów usuń lokalny folder node_modules – DanteTheSmith

5

Znalazłem to na własnej skórze, nawet jeśli jest to pozornie oczywiste.

Początkowo próbowałem wykonać pętlę w katalogu node_modules, uruchamiając npm uninstall module-name z prostą pętlą for w skrypcie. I okazało się, że nie będzie działać, jeśli nazwać pełną ścieżkę, np

npm uninstall module-name 

działa, ale

npm uninstall /full/path/to/node_modules/module-name 

nie działa.

13

Aby odinstalować moduł węzła:

npm uninstall <module_name> 

To usunie moduł z node_modules, ale nie z package.json. Kiedy ponownie zainstalujemy npm, pobierze moduł.

Tak, aby usunąć moduł z użytkowania package.json:

npm uninstall <module_name> --save 

to również usunąć zależność od package.json.

A jeśli chcesz odinstalować moduł globalnie można użyć:

npm -g uninstall <module_name> --save 

To usunie zależność globalnie.

1
# login as root (might be required depending on install) 
su - 
# list all global packages 
npm ls -g --depth=0 
# list all local (project) packages 
npm ls -p --depth=0 
# remove all global packages 
npm ls -g --depth=0 | awk -F/ '/node_modules/ && !/\/npm$/ {print $NF}' | xargs npm -g rm 
# remove all local packges 
npm ls -p --depth=0 | awk -F/ '/node_modules/ && !/\/npm$/ {print $NF}' | xargs npm -p rm 

# NOTE (optional): to use node with sudo you can add the bins to /usr/bin 
# NOTE $PATHTONODEINSTALL is where node is installed (e.g. /usr/local/node) 
sudo ln -s $PATHTONODEINSTALL/bin/node /usr/bin/node 
sudo ln -s $PATHTONODEINSTALL/bin/npm /usr/bin/npm 
3

Dla użytkowników Windows - Jeśli chcesz usunąć wszystkie moduły węzłów zainstalowanych na raz:

  • Otwórz PowerShell
  • Wejdź node_modules (node_modules CD) Folder
  • uruchomieniu tego polecenia - "npm uninstall (Get-ChildItem) .Name"

Spowoduje to odinstalowanie wszystkich modułów.

1

Komenda deinstalacji node module:

npm uninstall <module_name> 

To odinstalować moduł z lokalnego katalogu node-module, to nie będzie miało wpływu wniosku.

Ale jeśli odnoszą się do zasięgu globalnym lub chcą zmienić w zależności package.json

oto kilka różnych opcji

npm uninstall <module_name> --save aby usunąć moduł z dependencies w package.json.

npm uninstall <module_name> --save-dev do usunięcia modułu z devDependencies w package.json.

npm uninstall <module_name> -g --save, aby usunąć moduł globalnie.

Pełna dokumentacja ze wszystkich opcji, patrz npm uninstall

0

Aby usunąć pakiety w node_modules/ luzem, można też usunąć je z package.json, zapisz go, a następnie uruchomić npm prune na terminalu.

Spowoduje to usunięcie tych pakietów, które istnieją w systemie plików, ale nie są używane/deklarowane package.json.

P.S> Jest to szczególnie przydatne w systemie Windows, ponieważ często mogą wystąpić problemy z niemożnością usunięcia niektórych plików ze względu na "przekroczenie limitu długości ścieżki".

-1

npm uninstall <packageName> --save również usunąć wpis z package.json.

npm uninstall -g <packageName> --save Jeśli pakiet jest instalowany globalnie.

+2

Jest to już wspomniane w zaakceptowanej odpowiedzi –

0

Odpowiedzi są świetne, ale nie te, których szukałem, dlatego przedstawiam kolejną odpowiedź dla tych, którzy szukają krótkich wersji komendy uninstall.

npm uninstall <package-name> [-S|--save|-D|--save-dev]prawie wszystkie odpowiedzi wspomniano tej wersji

ale inna opcje:

  • npm r <package-name> [-S|--save|-D|--save-dev]
  • npm rm <package-name> [-S|--save|-D|--save-dev]
  • npm remove <package-name> [-S|--save|-D|--save-dev]
  • ...

Aby uzyskać więcej opcji udać się npm-uninstall (Remove a package)

-1

Jeśli chce odinstalować szereg module wystarczy uruchomić npm uninstall. Następnie przejdź do package.json i usuń niechciany moduł stamtąd, a następnie po prostu uruchom polecenie npm install. To powinno naprawić twój problem.

0

Dodatkowo, jeśli już zaczął używać yarn, zamiast npm:
yarn remove <package-name>

jest odpowiednikiem:
npm uninstall <package-name> --save

Będzie to
- usunąć pakiet z package.json, jak a także
- odinstaluj go z folderu projektu node-modules

-1

Spróbuj tego:

npm uninstall < package name > 
Powiązane problemy