‫Instructor:
‫En esta lección, hablaremos
‫sobre un montón de cosas más
‫que debe saber sobre cómo trabajar con
‫paquetes npm, como el control de versiones, la actualización o la eliminación de
‫paquetes, y también algunas otras cosas, así que comencemos.
‫Lo primero de lo
‫que quiero hablar en este video son estos números de versión de nuestros paquetes.
‫La mayoría de los
‫paquetes en npm siguen la denominada notación de versión semántica,
‫lo que significa que sus números de
‫versión siempre se expresan con estos tres números.
‫La primera aquí se llama versión principal.
‫La segunda se llama versión menor.
‫La tercera se llama versión de parche.
‫De hecho, hay un significado en estos tres números.
‫La versión del parche, que es solo esta última
‫aquí, solo está destinada a corregir errores.
‫Digamos eso en la versión 1. 18, los desarrolladores encontraron
‫un error, lo arreglaron y luego
‫lanzaron 1. 18. 1.
‫Luego encontraron otro error y
‫luego lanzaron 1. 18. 2 y así
‫sucesivamente hasta llegar a 1. 18. 11, que es
‫el número de versión actual.
‫Nuevamente, este último es solo para corregir errores.
‫Luego, después de eso, tenemos la versión menor.
‫La versión secundaria
‫introduce algunas características nuevas en
‫el paquete, pero no incluye cambios importantes.
‫Todos los cambios que se realicen en un nuevo número de
‫versión siempre serán compatibles con versiones anteriores.
‫Si un día el equipo de nodemon, por ejemplo,
‫decide lanzar la versión 1. 19, bueno, eso
‫incluirá algunas características nuevas pero
‫no romperá nuestro código.
‫Y, por supuesto, sucede lo mismo con este de aquí.
‫Entonces, si algún día, está Slugify 1. 4, bueno,
‫entonces nuestro código seguirá funcionando igual.
‫No habrá cambios importantes.
‫Simplemente habrá algo nuevo, por
‫lo que algunas características nuevas, que no son solo correcciones de errores.
‫Las correcciones de errores son nuevamente para el tercero, por
‫lo que para la versión
‫del parche, y luego las nuevas características menores son para la versión menor.
‫Luego, por supuesto, tenemos la versión principal, que
‫solo se mejora cada vez
‫que se trata de una nueva versión enorme que puede tener cambios importantes.
‫Por ejemplo, si aparece Slugify 2.
‫Bueno, es posible que nuestro código ya
‫no funcione porque la función slugify que tenemos aquí,
‫por ejemplo, podría haber cambiado su nombre o
‫tal vez el parámetro que espera aquí sea diferente o las
‫opciones podrían haber cambiado, o algo
‫podría haber cambiado que romperá
‫la versión anterior. .
‫Tenga en cuenta que cuando hay una
‫nueva versión, normalmente puede afectar el
‫código que ya tiene.
‫Por eso, también es importante
‫hablar sobre la actualización de paquetes.
‫En nuestro paquete. json,
‫este pequeño símbolo que aparece delante
‫del número de versión es lo que especifica
‫qué actualizaciones aceptamos para cada uno de los paquetes.
‫Este símbolo aquí, que npm especifica aquí de
‫forma predeterminada, significa que aceptamos parches y versiones menores.
‫Ahora bien, ¿cómo actualizamos realmente los paquetes?
‫Bueno, dejemos este proceso aquí.
‫Lo primero que
‫podemos hacer es comprobar si hay paquetes desactualizados.
‫Escribimos npm desactualizado, y eso debería darnos una tabla con
‫todos los paquetes que
‫están desactualizados.
‫Bueno, ahora mismo, están todos actualizados, así que
‫eso no sucedió realmente.
‫Lo que
‫quiero mostrarles ahora es que en realidad
‫podemos instalar cierto paquete con un cierto número de versión.
‫Hagamos eso con Slugify e instálelo
‫en la versión 1. 0. 0.
‫Npm instale slugify y luego en 1. 0. 0.
‫Probemos eso.
‫Ahora, de hecho, tenemos un cero cero.
‫Cuando lo colocamos, en realidad dice la
‫última versión 1. 3. 4, que es lo que teníamos.
‫Pero si ahora ejecutamos npm desactualizado,
‫debería darnos eso.
‫Vemos que la corriente es 1. 0. 0.
‫Se busca 1. 3. 4, porque ese
‫es el que aceptamos porque recuerda, que
‫con esto aquí, aceptamos todo el parche y todos los
‫lanzamientos menores, pero claro, también podemos cambiar eso.
‫Por ejemplo, podemos establecerlo en este símbolo aquí.
‫Esto solo aceptará lanzamientos de parches.
‫Éste es un poco más seguro.
‫Si ejecutamos npm desactualizado ahora nuevamente, veamos
‫qué obtenemos.
‫Ahora lo buscado es solo 1. 0. 2,
‫porque nuevamente, solo aceptamos versiones menores.
‫Entonces 1. 3. 4 no
‫es aceptado por nosotros porque bueno, no
‫aceptamos ninguno de los lanzamientos
‫menores, así que nuevamente, solo lanzamientos de parches.
‫Si tuviera que hacer npm update slugify ahora, veamos qué
‫tenemos entonces.
‫Ahora estamos en el 1. 0. 2.
‫Verá que
‫cambió de nuevo para mi configuración de actualización
‫aquí para aceptar versiones menores y de parches.
‫No solo los lanzamientos de parches como los que teníamos antes.
‫Si vamos a ejecutar esto
‫ahora de nuevo, debería
‫subirnos hasta 1. 3. 4, como teníamos antes.
‫De hecho, aquí vamos.
‫Muy bien, así es como actualizamos los paquetes.
‫Hay otras configuraciones que
‫podemos elegir aquí.
‫Podemos decir, por ejemplo, que queremos todas las
‫versiones, así que si en algún momento,
‫hay una versión dos y si no
‫actualizamos nuestros paquetes, automáticamente
‫subirá nuestra versión a la versión dos.
‫Este incluye todas las versiones,
‫incluso las que tienen cambios importantes.
‫Pero esa no es una buena idea
‫por lo general, por lo que generalmente elijo
‫esta que es predeterminada, o incluso esta aquí porque
‫en algún momento, incluso si una versión menor debería simplemente
‫introducir nuevas funciones pero no cambios
‫importantes, sabemos que a veces puede haber errores
‫que los desarrolladores no encuentran, y luego estos
‫errores, encuentran su camino
‫en nuestro código y pueden romper nuestro código.
‫No queremos eso, por supuesto.
‫La versión más segura
‫es usar esta para corregir errores.
‫De hecho, dejémoslo así aquí, solo
‫con fines de demostración.
‫Esto es lo que necesita saber
‫sobre los números de versión y la actualización.
‫Pero, por supuesto, también podemos eliminar paquetes.
‫Ahora sigamos e instalemos Express, para
‫que podamos continuar y eliminarlo después de eso.
‫Estoy seguro de que puede adivinar cómo podemos hacer eso.
‫Eso es muy facil.
‫Desinstalación de Npm, por lo que en realidad no se llama eliminar.
‫Realmente se está desinstalando.
‫Instalamos y desinstalamos Express.
‫Eso luego lo eliminará de nuestra carpeta
‫de módulos de nodo, y también de nuestras
‫dependencias en un paquete. json archivo.
‫Cada vez que decidimos no usar más un
‫módulo, bueno, siempre debemos continuar y
‫eliminarlo, o desinstalarlo.
‫Ahora, como última cosa, quiero hablar un
‫poco sobre la carpeta de módulos de nodo.
‫Esta carpeta, que contiene
‫todas las dependencias de nuestro proyecto.
‫Digamos que desea compartir su código con alguien
‫o que, por ejemplo, desea comenzar
‫a trabajar en una computadora
‫y luego pasar a la siguiente.
‫Nunca compartirá esta carpeta de módulos de nodo porque
‫este código, puede obtenerlo fácilmente de npm.
‫No es necesario seguir adelante y
‫copiar todo este código aquí, por
‫ejemplo, en un repositorio de GitHub o en una carpeta de Dropbox,
‫o realmente en algún lugar donde desee compartir su código,
‫porque esta carpeta aquí, como
‫puede ver, tiene toneladas de carpetas y
‫cada uno de ellos puede tener toneladas de archivos.
‫De repente, puede terminar con
‫decenas o cientos de miles de archivos.
‫Nunca debe compartir esta carpeta
‫y nunca registrarla en su repositorio de GitHub.
‫Digamos que cargó este código en su cuenta
‫de GitHub sin los módulos de este nodo, o lo
‫puso en un Dropbox en una
‫computadora y lo descargó en la otra.
‫Digamos que ahora descargamos este código aquí,
‫sin módulos de nodo.
‫Así que eliminamos ese ahora
‫y terminamos con solo una carpeta de proyecto normal.
‫¿Cómo recuperamos ahora nuestras dependencias o nuestra
‫carpeta de módulos de nodo?
‫Bueno, es muy fácil.
‫Todo lo que tenemos que hacer es instalar npm.
‫Lo que hizo fue leer nuestro paquete. json, lea
‫nuestras dependencias y luego descargue todo
‫de nuevo en esta carpeta, de acuerdo.
‫Ahora, una pieza importante de este rompecabezas es
‫el bloqueo del paquete. json archivo.
‫Si lo abrimos, obtenemos una lista de
‫todas las versiones de todos los paquetes
‫que estamos usando.
‫Eso incluye las dependencias de nuestras dependencias.
‫Vayamos a Slugify, por ejemplo.
‫Slugify, y aquí vemos que estamos usando la
‫versión 1. 3. 4.
‫Eso es muy importante porque si comparte
‫su código, desea que el otro desarrollador o incluso
‫usted mismo use exactamente las
‫mismas versiones de paquete, de modo que
‫su código funcione exactamente de la misma manera para usted y
‫para el otro desarrollador.
‫Para eso, los números de versión exactos están
‫básicamente grabados en piedra en este
‫paquete de bloqueo. json archivo.
‫Si comparte su código, no importa
‫si está usando GitHub o Dropbox o algo así, siempre
‫comparta su paquete. json y
‫el archivo package-lock. json porque
‫estos dos archivos son necesarios
‫para que el otro desarrollador luego reconstruya
‫básicamente la carpeta de módulos de nodo.
‫Sí, creo que eso es todo lo
‫que necesita saber sobre las versiones de
‫los paquetes, la actualización, la desinstalación y también el intercambio de código con
‫npm, package. json y package-lock. json.
‫Si hay algo más que desee saber,
‫siempre puede volver a preguntar en el curso de preguntas y
‫respuestas y luego obtendrá ayuda allí.