Con los siguientes comandos, podrás actualizar y eliminar paquetes. Hacer esto es muy importante para mantener tus proyectos actualizados y libres de vulnerabilidades de seguridad.
Cómo actualizar paquetes
El comando npm outdate mostrará los paquetes que están desactualizados. Con el comando npm outdate --dd verás de manera más detallada la información.
Para actualizar todos los paquetes utiliza el siguiente comando:
$ npm update
Ten en cuenta que actualizar varios paquetes no es recomendable, solamente deberías actualizar un paquete si estás muy seguro de que no afectará al proyecto y que realizaste los cambios pertinentes.
Utiliza el siguiente comando para actualizar a la última versión (latest) de la dependencia, donde <paquete> es el nombre del paquete.
$ npminstall<paquete>@latest
Cómo eliminar paquetes
Existen dos formas de eliminar paquetes:
Eliminando el paquete del package.json y del directorio node_modules:
Revisar que paquetes disponen de nuevas versiones
npm outdate
Para ver un output más detallado
npm outdate --dd
Actualizar los paquetes que no están en la ultima versión
npm update
Actualizar un paquete especifico
npm install json-server@latest
++Eliminar paquetes++
Eliminar un paquete de node_modules y del archivo package.json
npm uninstall json-server
Desinstalar un paquete de todo node_modules pero no del archivo package.json
npm uninstall webpack --no-save
Excelente resumen :D
Gracias!
gracias por tu aporte me Gustó esa imagen fue muy detallada y especifica
gracias q gran ayuda !
Cuando trabajas en un equipo, puede ser que alguien corra npm unistall package para eliminar un paquete y luego ese cambio se envíe al repositorio remoto donde tú puedes hacer pull. Dado que el directorio de modulos de node no se alacena en git, tú seguirás teniendo paquetes que ya no se usan. En esoso casos puedes usar prunehttps://docs.npmjs.com/cli/prune.html
prune va a eliminar los paquetes que ya no se usan en tu proyecto, pero también puede eliminar paquetes en especifico, o eliminar los paquetes de dev en entornos de producción.
Que buen aporte, yo solía eliminar la carpeta "node_modules" y seguido ejecutar "npm i", para controlar esto mismo.
Gracias!
wow!!! que gran aporte!!!! muchas GRACIAS, yo tambien eliminaba todo sollo que yo hacia algo que se llama instalacion limpia o clean install con npm ci
Pensaba que para desinstalar los paquetes requeriría un comando más complejo, pero al contrario es fácil de recordar y me gusto bastante la lista que se genera al revisar que paquetes tenemos desactualizados. Acá dejo los comandos usados en esta clase:
Indica si existe una version de algun paquete o dependecia.
npm outdate
npm outdate --d # para ver el outputnpm update #para actulizar todos los paquetesnpminstall json-server@latest # para obtener la ultima version del paquete
Desinstalar un paquete o dependecia
npm uninstall paquete # elimina el paquete dentro de node_modules y de package.jsonnpm uninstall paquete --no-save # lo quita de node_module pero no de packager.json
Extension de visual studio code para NPM
npm - Visual Studio Marketplace
Cuando ejecuté:
npm uninstall webpack --no-save
No se desinstaló webpack de los módulos de node. Parece ser que a algunas personas no les funciona en devDependencies, no sé si a todos les pasa lo mismo:
Me pasó lo mismo, estuve probando y solo me funciona cuando webpack esta "dependencies".
Por qué motivo elimino un paquete de node_modules pero lo dejo en el package.json?
A veces se corrompen los paquetes o algún conflicto extraño pasa. Yo he borrado paquetes del node_modules y los he dejado en el package.json para después hacer un npm install y obtener una versión nueva y funcional del paquete. Cuidado aquí con las versiones, mirar semver.
Si tiene conflictos de dependencias pueden usar el coamando:
npm ci
que significa clean install y lo que hace es borrar todo y instalar de nuevo en un solo paso
Para no escribir "uninstall" puedes escribir
npm r package_name
y hace exactamente lo mismo
Actualizar y eliminar paquetes
npm outdate → Comando para revisar que paquetes tienen nuevas versiones.
npm outdate --dd → Comando para revisar más detalles sobre los paquetes tienen nuevas versiones.
npm update → Comando para actualizar
npm uninstallpackage → Comando para desinstalar
npm uninstallpackage --no-save → Comando para desinstalar todo el paquete de todo node_modules
Genial 😎✌
También existe este comando que sirve para seleccionar que dependencia actualizar de manera especifica:
.
npx npm-check --update
.
Fuente: Tomek Sułkowski en Twitter
no es comando de npm, es un paquete, y para poder usarlo necesitas instalarlo npm i -g npm-check pero valla que esta muy muy bueno, gracias!!! y tambien lo recomiendo mucho!!!
mas o menos asi se ve!!!
!npm-check
Tienes toda la razón @gamadorh, no es un comando como tal de npm. Creo que la mejor manera de identificarlo seria como una herramienta CLI.
Actualizar y eliminar
npm outdate es para ver si se algún paquete se encuentran desactualizados y además nos indica la últimas versiones de estos paquetes, dándonos la version actual (current) , recomendada(wanted) y la mas actualizada (Latest)
npm outdate --dd con el flag --d podemos ver todo el output mas detallado viendo lo que esta pasando por detrás de npm osea como hace cada operación hasta llegar a el output final
npm update podemos actualizar todos los paquetes que se encuentran desactualizados
npm install <package>@latest podemos actualizar un paquete en especifico a su ultima versión con este comando ejem: npm install json-server@latest
npm uninstall <package> para desinstalar o eliminar un paquete en especifico esto lo elimina del package.json y node_modules , Ojo muchas veces lo borramos del archivo package.json pero esto no lo elimina de la carpeta node_modules por lo tanto es una buena práctica ejem: npm uninstall json-server
npm uninstall <package> --no-save nos permite desinstalar o eliminar un paquete pero sin eliminarlo del package.json pero si del node__modules, ejem: npm uninstall webpack --no-save podemos instalar un plugin npm egamma en VSCode que nos revisa nuestro package.json vrs la carpeta de node_modules para comparar si hay dependencias que están agregadas en package.json pero no en la carpeta de node_modules (Ojo hay que revisar si efecto se elimino de node_modules ay que parece cuando esta en devDependencies no se elimina)
Link del paquete para visual studio code
GRACIAS!!!
El comando npm uninstall <package> tiene muchos alias como:
npm un <package>npm remove <package>npmrm<package>
source:
Si no te sale nada al momento de ejecutar npm outdate, significa que tus paquetes están al día :D
Ya si te quieres asegurar que el comando esté funcionando, puedes correrlo con la bandera npm outdate --dd Y verás que sí funciona ;)
Buen aporte
Buenas! npm update o npm outdate corrobora las actualizaciones dependiendo la configuración que tiene package.json?
A qué me refiero. Si tengo un paquete con versión "^7.9.1" o "~2.4.0". Respeta la actualización para no hacerme cambios de versiones "major" en el primer caso, o "minor" para el primer y segundo caso?
No se si se entiende la pregunta. Gracias!
Normalmente npm update no va a hacer de manera automática las actualizaciones grandes para prevenir errores. por ejemplo de 2.4.0 a 3.0, esas tendrás que hacerlas tú de forma manual. Sin embargo te las va a marcar como desactualizadas en el npm outdated. No se si a eso te referías con la pregunta.
asi es man por su puesto, el comando npm update respeta tu version constrain (ese es el mobre origianl)
solo que el comando npm outdate te la seguira marcando como desactualizada.
si usas el comando npm i <package>@latest ese no te respera el constrain
Hola
Cuando usamos npm install json-server@latest, por ejemplo.
¿Se elimina la versión anterior que tengamos instalada?
Gracias
Correcto, dentro de la carpeta node-modules puedes buscar el paquete y ver que reemplazo la versión anterior por la nueva
si, pero se puede mantener si instalas otra versión especifica dentro del paquete, también puedes usar alias para tener varias instalaciones.
No se si tocará el tema más adelante, pero a inicio del número de versión de todas las dependencias se pone un simbolo.
Las versiones tienen 3 números ejemplo:
1.2.3
El primer número es la versión principal, el segundo número indica cambios que puede surgir pero que no ameritan otra verisión, y el tercer número pueden ser cambios pequeños como reparar bugs.
Entonces este simbolo ^ al principio de la versión indicar que solamente puede actualizar o instalar la ultima versión del segundo número ejemplo.
Si tengo la versión 2.3.0 y en el package.json dice ^2.3.0, significa que podré instalar la versión 2.3.1, .2, .3, etc, pero si sacan la versión 2.4.0, no la podre instalar por update o por install, tendré que hacerlo manual, esto porque al tener un cambio más significante podría afectar el funcionamiento de mi app, paquete o libreria.
Desinstalar paquetes sin que se remuevan del del package.json
.
npm uninstall package-name --no-save
npm list => Lista los paquetes que tenemos instalados
npm outdate => Lista los paquetes que tienen una actualización
npm outdate --d => Muestra la salida de npm mas detallada
npm update => Actualiza los paquetes a la última versión
npm install name-package@latest => instala la ultima versión
npm uninstall name-package =>Elimina el paquete o desinstala
npm uninstall webpack --no-save => Elimina el paquete de node_modules pero no del package.json