Respuestas:
El siguiente comando elimina todos los módulos npm globales. Nota: esto no funciona en Windows. Para una versión funcional de Windows, vea la respuesta de Ollie Bennett .
npm ls -gp --depth=0 | awk -F/ '/node_modules/ && !/\/npm$/ {print $NF}' | xargs npm -g rm
Así es como funciona:
npm ls -gp --depth=0
enumera todos los módulos globales de nivel superior (consulte la documentación de cli para ls )awk -F/ '/node_modules/ && !/\/npm$/ {print $NF}'
imprime todos los módulos que en realidad no son npm en sí (no termina con /npm
)xargs npm -g rm
elimina todos los módulos a nivel mundial que vienen sobre la tubería anteriorPara aquellos que usan Windows , la forma más fácil de eliminar todos los paquetes npm instalados globalmente es eliminar el contenido de:
C:\Users\username\AppData\Roaming\npm
Puede llegar rápidamente escribiendo %appdata%/npm
el explorador, el indicador de ejecución o desde el menú de inicio.
%USERPROFILE%\AppData\npm
sin el roaming
.
npm install
. También tuve que eliminar mi package-lock.json
archivo.
Probé Kai Sternad solución 's pero parecía imperfecta para mí. awk
Quedaban muchos símbolos especiales después del último del árbol deps en sí.
Entonces, se me ocurrió mi propia modificación de la solución de Kai Sternad (con un poco de ayuda de la idea de la cachemira ):
npm ls -gp --depth=0 | awk -F/node_modules/ '{print $2}' | grep -vE '^(npm|)$' | xargs -r npm -g rm
npm ls -gp --depth=0
enumera todos los módulos npm instalados globalmente en formato analizable :
/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}'
extrae los nombres de los módulos de las rutas, formando la lista de todos los módulos instalados globalmente.
grep -vE '^(npm|)$'
elimina npm y las líneas en blanco.
xargs -r npm -g rm
llama npm -g rm
a cada módulo en la lista.
Al igual que la solución de Kai Sternad , solo funcionará con * nix.
npm
instala todos sus módulos globales en el mismo directorio. La ubicación exacta puede variar, pero generalmente lo es /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
). Agrego otro emparejador para awk
y el comando de trabajo para mí se ve así: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
trabajó para mi
sudo npm list -g --depth=0.
enumera todos los niveles superiores instaladosawk -F ' ' '{print $2}'
se deshace de ├──awk -F '@' '{print $1}'
obtiene la parte antes de '@'sudo xargs npm remove -g
elimina el paquete globalmentenpm remove UNMET
simplemente NOOP.
grep -v npm
para que npm en sí no se elimine:sudo npm list -g --depth=0. | grep -v npm | awk -F ' ' '{print $2}' | awk -F '@' '{print $1}' | sudo xargs npm remove -g
Para aquellos que usan Powershell :
npm -gp ls --depth=0 | ForEach-Object { Get-Item $_ } | Where { $_.Name -ne 'npm' } | ForEach-Object { npm rm -g $_.Name }
Para borrar el caché:
npm cache clear
Simplemente cambie a su %appdata%/npm
directorio y ejecute lo siguiente ...
for package in `ls node_modules`; do npm uninstall $package; done;
EDITAR: Este comando rompe con npm 3.3.6 (Nodo 5.0). Ahora estoy usando el siguiente comando Bash, que he asignado a npm_uninstall_all en mi archivo .bashrc:
npm uninstall `ls -1 node_modules | tr '/\n' ' '`
¿Bono agregado? ¡es mucho más rápido!
https://github.com/npm/npm/issues/10187
¿Cómo desinstalar todas las dependencias enumeradas en package.json (NPM)?
npm
y n
antes deltr
en Windows, vaya al directorio "C: \ Users {username} \ AppData \ Roaming" y elimine manualmente la carpeta npm
Si tiene instalado jq , puede ir incluso sin grep / awk / sed:
npm ls -g --json --depth=0 |
jq -r '.dependencies|keys-["npm"]|join("\n")' |
xargs npm rm -g
En Debian y derivados, puede instalar jq con:
sudo apt-get install jq
json
estilo apropiado .
npm ls -g --json --depth=0 | jq -r '.dependencies|keys-["npm"]|join("\n")' | xargs sudo npm rm -g
Sistema operativo no especificado por OP. Para Windows , esta secuencia de comandos se puede usar para destruir los módulos y caché locales y globales del usuario.
Noté en Linux que la raíz global es verdaderamente global para el sistema en lugar del usuario dado. Por lo tanto, eliminar la raíz global podría no ser una buena idea para un sistema compartido. Aparte de eso, puedo transferir el script a bash si estoy interesado.
Para Windows , guarde en un archivo cmd para ejecutar.
@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%
Use este código para desinstalar cualquier paquete:
npm rm -g <package_name>
Puede ubicar todos sus paquetes npm instalados en la ubicación:
C:\Users\username\AppData\Roaming\npm
y elimine el contenido de npm que desea eliminar.
Si AppData no se muestra, significa que está oculto y puede ir a Ver en el explorador de archivos y verificar los elementos ocultos, luego puede ver todas las carpetas ocultas.
Bueno, si está en Windows y desea eliminar / desinstalar todos los módulos de nodo, entonces debe seguir los siguientes pasos.
Escribe el siguiente comando y dale durante 1-2 minutos, desinstalará todos los directorios dentro de node_module
rmdir /s /q node_modules
Espero que esto ayude a alguien en Windows
si tiene Intellij Webstorm, puede usar su administrador de paquetes gráfico incorporado.
ábralo como root y cree un proyecto vacío. ir
Archivo> Configuración> Idioma y marcos> Node.js y NPM
Allí verá todos los paquetes instalados. Desinstalar es fácil, puede seleccionar y deseleccionar cualquier paquete que desee desinstalar, Ctrl + a woks también.
por yarn global
nano ~/.config/yarn/global/package.json
<Manually remove all packages from package.json>
yarn global add
O, si no te importa lo que realmente hay dentro package.json
echo {} > ~/.config/yarn/global/package.json && yarn global add
Esto también debería aplicarse a NPM, pero no estoy exactamente seguro de dónde se almacena NPM global.
Como esta es la respuesta principal en la búsqueda, estoy publicando esto aquí, ya que fue la solución que usé en el pasado para limpiar la computadora que cambia las computadoras portátiles.
cd ~/Documents # or where you keep your projects
find . -name "node_modules" -exec rm -rf '{}' +
fuente: https://winsmarts.com/delete-all-node-modules-folders-recursively-on-windows-edcc9a9c079e
Aquí hay una solución más elegante que probé donde dejé que npm hiciera todo el trabajo por mí.
# 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
Luego, si lo hace, npm uninstall
o npm remove
estos módulos serán tratados como si fueran dependencias normales de un proyecto. Incluso genera un archivo package-lock.json cuando se hace:
$ npm remove <package-name> # you may need sudo if it was installed using sudo
Solo pon en tu consola:
sudo npm list -g --depth = 0. El | awk -F '' '{print $ 2}' | awk -F '@' '{print $ 1}' | sudo xargs npm eliminar -g
Es trabajo para mi ...
awk -F' |@' '/@/ {if ($(NF-1) != "npm") {print $(NF-1)}}'
Explicación: dividir en espacios o @, solo hacer coincidir las líneas con @, el nombre del módulo será el penúltimo partido ($(NF-1)
), así que solo imprima si no es asínpm