No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Eliminación de dependencias y Package lock

11/15
Recursos

Conocer cómo eliminar dependencias, también es importante para mantener tus proyectos sin paquetes que no aporten la solución a tu problema, que ya no sean actualizados, o que exista una mejor implementación.

Cómo eliminar paquetes

Existen dos formas de eliminar paquetes:

  • Eliminando el paquete con el siguiente comando: bash $ npm uninstall <paquete>
  • Eliminarlo manualmente del archivo package.json. Al eliminar un paquete de manera manual, es necesario actualizar el directorio de node_modules.

Cómo actualizar node_modules

Actualizar el directorio node_modules sirve para limpiar las dependencias que previamente estaban en el proyecto. También cuando existe algún archivo corrupto o una mala instalación.

Por lo tanto, deberás eliminar el directorio de node_modules y después ejecutar el comando npm install para instalar correctamente los paquetes. En ciertas situaciones, también es necesario eliminar el archivo package-lock.json.

Puedes utilizar el siguiente comando de NPM para evitar escribir demasiado cada vez que lo necesites.

json // package.json { "scripts": { "phoenix": "rm -f package-lock.json && rm -rf ./node_modules && npm i --no-fund --no-audit" } }

Mostrar los pasos ejecutados por un comando de NPM

Para identificar el error que puede existir en tu proyecto, es necesario analizar cada paso que ejecuta un comando, para saber en qué punto específico ocurre el problema.

El flag --dd en un comando de NPM, te mostrará de manera detallada cada paso ejecutado. De esta manera podrás observar si existe un error para solucionarlo.

bash $ npm [comando] --dd

Otra forma, es ejecutar el comando de NPM. Si existe un error, la terminal te mostrará los diferentes errores que encontró. Al final de este resumen, existirá una ruta con los detalles del error, puedes abrir tal archivo para observar los pasos que ejecutó.

Errores en comandos de NPM

Qué es el archivo package-lock.json

El archivo package-lock.json describe todo el árbol de dependencias de cada paquete instalado.

Cuando alguien hace fork de un repositorio no tiene el directorio node_modules por el archivo .gitignore. Mediante el comando npm install, instalarán las dependencias indicadas en el package.json con la versión indicada. También, se instalarán las sub-dependencias indicadas en package-lock.json con la versión indicada.

Esto es importante para tener instaladas siempre la versión adecuada del paquete a utilizar en el proyecto.

Contribución creada por Andrés Guano (Platzi Contributor).

Aportes 33

Preguntas 6

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

En el contexto de la programación es común encontrarse con código al que se denomina deprecated. Basicamente el autor esta diciendo:

Esto que te ofrezco sigue funcionando, pero yo ya no me responsabilizo de que siga haciéndolo en un futuro, así que úsalo bajo tu propia responsabilidad (y no llores si deja de funcionar).

Resumen

Para eliminar una dependencia Ejemplo:

npm unistall webpack-dev-server

Otra forma es ir al archivo package.json y eliminar del listado de dependencia, dependencias de desarrollo o dependencias opcionales; una vez eliminado de la lista ejecutamos

rm -rf node_modules/
npm install

Para compilar el proyecto usamos

npm run build

Para compilar el proyecto y obtener mas informacion usamos


npm run build --dd

Para ver librerias deprecadas

npm ci

Eliminar archivos/directorios mediante la terminal.
POWERSHELL

  • rm or Remove-Item comando para eliminar ítem.
  • -r recursividad.
  • -fo or -Force forzar.
rm [path] -r -fo

UNIX

  • rm comando para eliminar ítem.
  • -r recursividad.
  • -f forzar.
rm -rf [path]
  • Documentación → rm

Eliminación de dependencias y Package Lock

Cómo puedo eliminar una dependencia previamente instalada:

  • npm uninstall nombre-dependencia Elimina todo lo necesario que tiene esta dependencia.

También podemos ir a nuestro proyecto en VSC y eliminarla dentro del listado de package.json, posterior a eliminarlo, lo que haremos será eliminar todas las dependencias y volver a instalar todas las que están en el package.json con los siguientes comandos:

  • rm -rf node_modules/ y luego >npm install

  • npm run build Para poder preparar nuestro proyecto y subirlo a producción, crea una carpeta bin

  • npm run build –-dd activa el comando con más detalle e información de los archivos que creó.

  • npm ci mostrará información como librerías deprecadas y paquetes que tenemos instalados en el proyecto, así como sincronizar el package.json con el package.lock.json

Package.lock.json

package-lock.json sencillamente evita este comportamiento general de actualizar versiones minor o fix de modo que cuando alguien clona nuestro repositorio y ejecuta npm install en su equipo, npm examinará package-lock.json e instalará la versión exacta de los paquete que nosotros habíamos instalado, ignorando así los ^ y ~ de package.json.

  • Contiene toda la información necesaria de cada uno de los elementos del proyecto, dependencias, dependencias de desarrollo, etc. Puede ser rápido para identificar los elementos que requiere e instalarlos. (ideal no tocar)

“npm ci” es una forma segura de instalar dependencias de un proyecto en entornos de producción, ya que garantiza que se están utilizando las versiones específicas de las dependencias especificadas en el archivo package.json y no permite que se realice ninguna acción adicional. Es recomendable utilizarlo en entornos de integración continua (CI) y en producción.

📛 Archivos del Proyecto 📛


 

Pasos 📌

 

  • • En la terminal estar dentro de la carpeta del proyecto react-base, queremos desinstalar un paquete, por ejemplo ejecutar:
npm uninstall webpack-dev-server

 

  • • A través del editor VS Code, se puede eliminar la dependencia, al abrir el archivo package.json, se busca en la lista y simplemente se borra y se guarda el archivo. Seguidamente en la terminal se debe ejecutar:
rm -rf node_modules/

 

  • • Con esto se borró la carpeta node_modules, se puede verificar listando los archivos y carpetas con ls -l

  • • Se vuelve a instalar todas las dependencias del proyecto que vienen por defecto con:

npm install

 

  • • Por otro lado, para preparar un proyecto para producción, se ejecuta:
npm run build

 

  • • Para mostrar una información más robusta de lo que hace ese comando para producción, se activa el verbo verbose, se ejecuta:
npm run build –dd

 

  • • Para ver mensajes de algunas librerías aplicadas al proyecto, se ejecuta:
npm ci

 

  • • Para ver la historia completa de las dependencias y las ramas de las mismas, se abre en VS Code el archivo package-lock.json, éste no se modifica.
     

♻️Eliminación de dependencias y Package lock🔐
* Si en algun momento necesitas borrar una dependecia esto se puede logra de las siguientes maneras:

♻️ npm uninstall babel-eslint --> *babel-eslint* es solo un paquete de ejemplo, este comando borra la dependecia junto con todo su arbol de sub-dependencias

☠️ Borrar las dependencias desde el archivo de 📦package.json📦 posterior a esto es 
⚠️IMPORTANTE⚠️ borrar la carpeta node_modules con rm -r node_modules y hacer una reinstalacion limpia via "npm install"

Este proceso es necesario cuando se le esta haciendo una "limpia al proyecto" xd para posteriomente hacerle un REFACTOR tambien suele suceder cuando se trabaja con proyectos de prueba 

* npm run build --> Este comando prepara el proyecto para produccion

* npm run build --dd  --> Activa el modo Verbose, nos muestra una informacion mas robusta de lo que esta haciendo o de lo que ejecutarse el comando a la hora de ejecutar el build, asi en dado caso que el proyecto se rompa o una dependencia este mal instala da con esta opcion es mas facil identificar el problema.

*npm ci  => Muestra mensajes como librerias deprecadas o que dejaran de tener soporte, tambien sincroniza 📦package.json📦 con el 📦package-lock.json🔐

¿Que es el 📦package-lock.json🔐?
Este archivo contiene toda la informacion necesaria de cada uno de lo elementos del proyecto, en palabras mas sencillas el 📦package-lock.json🔐 tiene todo el arbol🌳 de dependencias y SUBdependencias que el proyecto tiene, este archivo toma mas relevancia cuando el proyecto se tiene que compilar en la nube o en un servevidor externo 

Agradezco el curso, pero algo para añadir: La clase anterior y esta vienen cargadas de mucha información importante y que posiblemente no se entiende con solo ver una vez … por que no hay nada en la sección de recursos como un resumen o lecturas para complementar?

“Compilar un proyecto” significa crear una versión optimizada de su código fuente para su distribución o producción. Específicamente, cuando se habla de “npm run build” en el contexto de un proyecto de JavaScript, se refiere a ejecutar un script de construcción que combina y minifica los archivos del proyecto, convirtiéndolos en una versión lista para producción. Esto puede incluir acciones como la eliminación de comentarios y espacios en blanco, la compresión de imágenes y la transpilación de código moderno a una versión compatible con navegadores antiguos.

Yo suelo hacer:

rm -rf  /node_modules package-lock.json

node modules puede convertirse en una carpeta muy pesada y especialmente en windows dar algunos dolores de cabeza al eliminarla, asi que desde la consola se puede usar este comando para hacerlo mucho mas facil

npx npkill
Comparto mis apuntes ![](https://static.platzi.com/media/user_upload/Captura%20de%20Pantalla%202024-11-20%20a%20la%28s%29%2009.12.57-314cdcd9-df47-49e1-806a-8b8c43938d2f.jpg) ![](https://static.platzi.com/media/user_upload/Captura%20de%20Pantalla%202024-11-20%20a%20la%28s%29%2009.13.35-b1c4ef1c-166c-4828-9f7a-ef7e6b1f6f11.jpg) ![](https://static.platzi.com/media/user_upload/Captura%20de%20Pantalla%202024-11-20%20a%20la%28s%29%2009.14.10-cd187f8b-3128-43fe-89c8-ab5f50d862ec.jpg)

11/15 Curso de NPM: Eliminación de dependencias y Package lock

La eliminación de dependencias en un proyecto de Node.js gestionado con NPM implica eliminar un paquete específico de tu proyecto. Además, debes tener en cuenta el archivo package-lock.json, que es utilizado por NPM para realizar un seguimiento preciso de las versiones de las dependencias. A continuación, te mostraré cómo puedes eliminar una dependencia y cómo gestionar el package-lock.json adecuadamente.

Eliminar una dependencia:

Para eliminar una dependencia específica de tu proyecto, puedes usar el comando npm uninstall o su forma abreviada npm r, seguido del nombre del paquete que deseas eliminar. Por ejemplo:

npm uninstall nombre-de-la-dependencia

o también ⬇

npm r nombre-de-la-dependencia


Esto eliminará la dependencia especificada del archivo package.json y del directorio node_modules.

Gestionar el package-lock.json:

El archivo package-lock.json es importante para garantizar que tu proyecto tenga una reproducción consistente de las dependencias en diferentes entornos. Cuando eliminas una dependencia, es importante que también actualices el package-lock.json para que refleje los cambios.

Para lograr esto, puedes hacer lo siguiente:

  1. Después de eliminar la dependencia con npm uninstall, verifica si el package-lock.json se ha actualizado automáticamente. En muchas versiones recientes de NPM, esto ocurre de manera automática.

  2. Si el package-lock.json no se actualiza automáticamente (lo cual es poco común), puedes forzar una actualización del package-lock.json ejecutando el siguiente comando:

npm install


Este comando reinstalará todas las dependencias que figuran en tu package.json, y el package-lock.json se actualizará en consecuencia. Asegúrate de que el paquete que eliminaste ya no aparezca en el package.json.

  1. Después de la actualización exitosa del package-lock.json, puedes verificar que la dependencia se haya eliminado completamente del directorio node_modules.


Recuerda que la eliminación de dependencias puede afectar la funcionalidad de tu proyecto, así que asegúrate de comprender las implicaciones antes de eliminar cualquier paquete. También, es buena práctica realizar pruebas exhaustivas después de hacer cambios importantes en las dependencias para asegurarte de que tu aplicación aún funcione correctamente.

Espero sea de utilidad. 👨‍💻

Apunte en Notion

A mi no me deja eliminarlo, me sale este error que no se cómo solucionar![](

Para eliminar la carpeta de node_modules del mismo proyecto o para eliminar estas carpetas de todo nuestro equipo existe este comando:

npx npkill
En NPM, para eliminar dependencias instaladas, se utilizan los siguientes comandos: 1. Para eliminar una dependencia específica: ``` npm uninstall <nombre-del-paquete> ``` 2. Para eliminar múltiples dependencias a la vez: ``` npm uninstall <nombre-del-paquete-1> <nombre-del-paquete-2> ``` 3. También puedes utilizar el comando `npm prune` para eliminar dependencias que ya no están en el archivo `package.json`. Estos comandos son fundamentales para mantener tu proyecto limpio y actualizado.
yo lo que hacia para eliminar paquetes que no utilizaba era simplemente darle suprimir a la carpeta(eliminarla) y luego volver hacer el npm install jejeje
La eliminación de dependencias y la gestión del archivo package-lock son tareas importantes en el desarrollo de proyectos con npm. Aquí te muestro cómo puedes eliminar dependencias específicas y gestionar el archivo package-lock: ### Eliminación de dependencias Para eliminar una dependencia específica de tu proyecto, puedes utilizar el comando `npm uninstall` seguido del nombre de la dependencia que deseas eliminar. Por ejemplo, para eliminar una dependencia llamada "nombre\_dependencia": bash Copy codenpm uninstall nombre\_dependencia También puedes utilizar la bandera `--save` o `--save-dev` para actualizar el archivo `package.json` y eliminar la dependencia de las dependencias guardadas. Por ejemplo: bash Copy codenpm uninstall nombre\_dependencia --save ### Eliminación del archivo package-lock.json El archivo `package-lock.json` es generado por npm y se utiliza para garantizar la reproducibilidad de la instalación de las dependencias. Sin embargo, si necesitas eliminar este archivo por alguna razón, puedes hacerlo manualmente eliminándolo desde el sistema de archivos o utilizando el siguiente comando: bash Copy coderm package-lock.json Por favor ten en cuenta que la eliminación del archivo `package-lock.json` puede afectar la reproducibilidad de la instalación de dependencias, por lo que es importante considerar las implicaciones antes de eliminarlo. ### Reconstrucción del archivo package-lock.json Si has realizado cambios en el archivo `package.json` o has eliminado el archivo `package-lock.json`, puedes reconstruir el archivo `package-lock.json` ejecutando el siguiente comando: bash Copy codenpm install Este comando reconstruirá el archivo `package-lock.json` basado en las dependencias definidas en `package.json`.

package-lock.json

Este archivo es auto generado por npm install y es una lista descriptiva y exacta de las versiones instaladas durante tu proceso. No esta destinado a ser leído ni manipulado por los desarrolladores, si no, para ser un insumo del proceso de manejo de dependencias.

Dise;o sencillo!! ;)![](https://static.platzi.com/media/user_upload/Captura%20de%20Pantalla%202023-10-06%20a%20la%28s%29%2011.10.02%20a.m.-96284779-47ad-454d-854d-fa9fd9971b7f.jpg)
![]()![](<Captura de Pantalla 2023-10-06 a la(s) 11.10.02 a.m.>):) Comparto mi dise;o

Gracias, profe. Me sirvío.

Borrar todo node modules y volver a instalar todo en limpio

la clase mas tecnica, la tuve que ver varias veces, hasta entenderle

Acá les dejo un resumen del curso, igual les puede servir.

Steps to create and publish a library in NPM

Hay varias formas de eliminar dependencias de npm en un proyecto:

Utilizando el comando npm uninstall seguido del nombre de la dependencia que desea eliminar. Por ejemplo, npm uninstall lodash eliminaría la dependencia de lodash.

Puedes utilizar el comando npm prune para eliminar las dependencias que no se están utilizando en tu proyecto.

Utilizando la opción --save o --save-dev en el comando npm uninstall puedes eliminar la dependencia tanto del archivo package.json como del package-lock.json. Por ejemplo npm uninstall lodash --save.

También puedes editar manualmente el archivo package.json y eliminar la dependencia de la sección “dependencias” o “devDependencies”. Luego ejecutar npm install para actualizar el package-lock.json

Es importante mencionar que antes de eliminar cualquier dependencia debes asegurarte de que no afecte al funcionamiento del proyecto.

  • Package lock

    El archivo package-lock.json es un archivo generado automáticamente por npm (Node Package Manager) que contiene información sobre las dependencias de un proyecto y las versiones específicas de las mismas que se están utilizando. Este archivo se utiliza para garantizar que todos los desarrolladores en un equipo, así como todas las instalaciones del proyecto, estén utilizando las mismas versiones de las dependencias.

    Cuando se ejecuta npm install, npm genera automáticamente un archivo package-lock.json que contiene información detallada sobre todas las dependencias y sus versiones, incluyendo las dependencias transitorias. Al utilizar npm install en un proyecto con un archivo package-lock.json, npm utilizará las versiones específicas de las dependencias que se encuentran en el archivo package-lock.json en lugar de buscar versiones más recientes.

    De esta manera, package-lock garantiza que siempre se está utilizando la misma versión de las dependencias. Esto es especialmente útil en entornos de producción, donde se desea evitar cualquier cambio sorpresa en las dependencias que puedan afectar el funcionamiento del proyecto.

Este flag comando del modo verbose permite ver todo el output en la terminal.

--dd
npm outdated --depth=3

Este comando te muestra tus dependencias junto a las versiones actuales, ultimas versiones, y la localización de la carpeta

Cuando se habla de refactorar o refactorizar nuestro código habla de re escribir nuestro código o actualizar nuestras dependencias de manera que el código sea más simple, legible, óptimo.

NO CONFUNDIR este proceso con corrección de errores, pues la refactorización no lo contempla, más bien contempla si será más fácil resolver errores de tu código después de refactorizarlo.

para eliminar un paquete:

npm uninstall nombrePaquete

que significa npm ci?

Con este comando se prepara una compilación para producción, si queremos más información del proceso pasamos la bandera --dd para activar el modo verbose
npm run build --dd

Con este comando podemos ver mensajes como librerías deprecadas o descontinuadas que no podrán ser actualizadas.
npm ci

El archivo package-lock.json muestra una estructura tipo historial de todos los paquetes y dependencias incluyendo sus ramas de cada uno.