Si tengo un archivo package.json definido en la raíz de mi aplicación y lo ejecuto npm install -g
, se instalarán todas las dependencias definidas en package.json, globalmente.
Sin embargo, esto no parece funcionar a la inversa.
Si lo hago npm uninstall -g
en la raíz de mi aplicación, arroja un error, explicándome que le pase un nombre de paquete.
¿No debería esto desinstalar también los mismos paquetes que instalé?
¿Estoy haciendo algo mal?
Respuestas:
Si usa Bash, simplemente cambie a la carpeta que tiene su archivo package.json y ejecute lo siguiente:
En el caso de paquetes instalados globalmente, cambie a su
%appdata%/npm
carpeta (si está en Windows) y ejecute el mismo comando.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:
¿Bono agregado? ¡es mucho más rápido!
https://github.com/npm/npm/issues/10187
fuente
npm uninstall <package>
para cada carpeta. ¡Hice esto yo mismo y funciona excelentemente!npm uninstall
se encarga de eso, razón por la cual este truco es útil.foreach($package in ls node_modules){npm uninstall $package}
tr is not recognized
Esto funcionó para mí:
símbolo del sistema o gitbash en la carpeta node_modules en su proyecto y luego ejecute:
Se eliminaron todos los paquetes locales para ese proyecto.
fuente
Para Windows, vaya al directorio node_modules y ejecute esto en powershell
fuente
Recientemente encontré un comando de nodo que permite desinstalar todas las dependencias de desarrollo de la siguiente manera:
Como mencioné, este comando solo desinstala los paquetes de dependencia de desarrollo. Al menos me ayudó a no tener que hacerlo manualmente.
fuente
Sugerencia para usuarios de Windows: Ejecute este comando de PowerShell desde el
node_modules
directorio principal:fuente
Esto esencialmente crea un package.json falso y vacío, llama
npm prune
para eliminar todo en node_modules, restaura el package.json original y reinstala todo.Algunas de las otras soluciones pueden ser más elegantes, pero sospecho que esto es más rápido y exhaustivo. En otros hilos, he visto personas sugerir simplemente eliminar el directorio node_modules, pero al menos para Windows, esto hace que npm se ahogue después porque el directorio bin desaparece. Tal vez en Linux se restaure correctamente, pero no en Windows.
fuente
En realidad, no hay ninguna opción para hacer eso, si desea desinstalar paquetes,
package.json
simplemente hágalonpm ls
en el mismo directorio que sepackage.json
basa y usanpm uninstall <name>
onpm rm <name>
para el paquete que desea eliminar.fuente
npm i
"
npm i
" no solo instalará los deps que faltan, sino que también actualizará node_modules para que coincida con el package.jsonfuente
( No repita estos pasos hasta que haya leído todo )
Para mí, todas las soluciones mencionadas no funcionaron. Así que fui
/usr/lib
y corrí allíPero también eliminó el
npm
paquete y solo la mitad de los paquetes (hasta que llegó a la letra n).Así que intenté instalar el nodo nuevamente con la guía del nodo.
Pero no se instaló de
npm
nuevo.Así que decidí reinstalar todo el nodo
sudo apt-get remove nodejs
y volver a instalarlo según la guía anterior.Ahora NPM está funcionando nuevamente, pero los módulos globales todavía están allí. Así que verifiqué el contenido del directorio
/usr/lib/node_modules
y parece que lo único importante aquí esnpm
. Así que edité el comando anterior para desinstalar todo exceptonpm
Eliminó todos los módulos que no tenían prefijos
@
. Entonces extendí el ciclo para subdirectorios.Mi
/usr/lib/node_modules
ahora contiene solonpm
paquetes vinculados.fuente
Incluso no es necesario ejecutar el ciclo para eso.
Puede eliminar todos los node_modules usando el único comando: -
fuente
Usuarios de Powershell:
foreach($package in ls node_modules){npm uninstall $package}
Gracias @JustMailer
fuente
A cuestas de VIKAS KOHLI y jedmao , puedes hacer esto
versión de una sola línea:
versión de varias líneas:
fuente
Otra opción SIMPLE es eliminar node_modules y package-lock.json
Después de esto, puede intentar reinstalar los paquetes npm
fuente