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:
$ 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.
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.
$ 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ó.
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).
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:
$ 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.
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.
$ 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ó.
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).
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).
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
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.
• 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.