﻿1
00:00:01,260 --> 00:00:02,200
‫Instructor:

2
00:00:02,200 --> 00:00:03,783
‫En esta lección, hablaremos

3
00:00:03,783 --> 00:00:05,980
‫sobre un montón de cosas más

4
00:00:05,980 --> 00:00:08,630
‫que debe saber sobre cómo trabajar con

5
00:00:08,630 --> 00:00:13,610
‫paquetes npm, como el control de versiones, la actualización o la eliminación de

6
00:00:13,610 --> 00:00:17,043
‫paquetes, y también algunas otras cosas, así que comencemos.

7
00:00:18,860 --> 00:00:20,670
‫Lo primero de lo

8
00:00:20,670 --> 00:00:25,670
‫que quiero hablar en este video son estos números de versión de nuestros paquetes.

9
00:00:26,000 --> 00:00:28,110
‫La mayoría de los

10
00:00:28,110 --> 00:00:31,510
‫paquetes en npm siguen la denominada notación de versión semántica,

11
00:00:31,510 --> 00:00:34,140
‫lo que significa que sus números de

12
00:00:34,140 --> 00:00:36,913
‫versión siempre se expresan con estos tres números.

13
00:00:38,010 --> 00:00:41,000
‫La primera aquí se llama versión principal.

14
00:00:41,000 --> 00:00:44,190
‫La segunda se llama versión menor.

15
00:00:44,190 --> 00:00:47,460
‫La tercera se llama versión de parche.

16
00:00:47,460 --> 00:00:51,604
‫De hecho, hay un significado en estos tres números.

17
00:00:51,604 --> 00:00:55,160
‫La versión del parche, que es solo esta última

18
00:00:55,160 --> 00:00:58,080
‫aquí, solo está destinada a corregir errores.

19
00:00:58,080 --> 00:01:01,750
‫Digamos eso en la versión 1. 18, los desarrolladores encontraron

20
00:01:01,750 --> 00:01:04,150
‫un error, lo arreglaron y luego

21
00:01:04,150 --> 00:01:08,663
‫lanzaron 1. 18. 1.

22
00:01:09,860 --> 00:01:11,320
‫Luego encontraron otro error y

23
00:01:11,320 --> 00:01:14,840
‫luego lanzaron 1. 18. 2 y así

24
00:01:14,840 --> 00:01:18,843
‫sucesivamente hasta llegar a 1. 18. 11, que es

25
00:01:20,350 --> 00:01:22,203
‫el número de versión actual.

26
00:01:23,450 --> 00:01:27,140
‫Nuevamente, este último es solo para corregir errores.

27
00:01:27,140 --> 00:01:31,040
‫Luego, después de eso, tenemos la versión menor.

28
00:01:31,040 --> 00:01:32,670
‫La versión secundaria

29
00:01:32,670 --> 00:01:35,130
‫introduce algunas características nuevas en

30
00:01:35,130 --> 00:01:38,170
‫el paquete, pero no incluye cambios importantes.

31
00:01:38,170 --> 00:01:41,270
‫Todos los cambios que se realicen en un nuevo número de

32
00:01:41,270 --> 00:01:43,593
‫versión siempre serán compatibles con versiones anteriores.

33
00:01:44,751 --> 00:01:47,410
‫Si un día el equipo de nodemon, por ejemplo,

34
00:01:47,410 --> 00:01:51,290
‫decide lanzar la versión 1. 19, bueno, eso

35
00:01:51,290 --> 00:01:54,110
‫incluirá algunas características nuevas pero

36
00:01:54,110 --> 00:01:56,570
‫no romperá nuestro código.

37
00:01:56,570 --> 00:01:59,750
‫Y, por supuesto, sucede lo mismo con este de aquí.

38
00:01:59,750 --> 00:02:03,230
‫Entonces, si algún día, está Slugify 1. 4, bueno,

39
00:02:03,230 --> 00:02:06,190
‫entonces nuestro código seguirá funcionando igual.

40
00:02:06,190 --> 00:02:08,320
‫No habrá cambios importantes.

41
00:02:08,320 --> 00:02:10,600
‫Simplemente habrá algo nuevo, por

42
00:02:10,600 --> 00:02:14,947
‫lo que algunas características nuevas, que no son solo correcciones de errores.

43
00:02:14,947 --> 00:02:17,940
‫Las correcciones de errores son nuevamente para el tercero, por

44
00:02:17,940 --> 00:02:19,850
‫lo que para la versión

45
00:02:19,850 --> 00:02:23,870
‫del parche, y luego las nuevas características menores son para la versión menor.

46
00:02:23,870 --> 00:02:26,620
‫Luego, por supuesto, tenemos la versión principal, que

47
00:02:26,620 --> 00:02:28,840
‫solo se mejora cada vez

48
00:02:28,840 --> 00:02:33,140
‫que se trata de una nueva versión enorme que puede tener cambios importantes.

49
00:02:33,140 --> 00:02:36,500
‫Por ejemplo, si aparece Slugify 2.

50
00:02:36,500 --> 00:02:39,000
‫Bueno, es posible que nuestro código ya

51
00:02:39,000 --> 00:02:42,130
‫no funcione porque la función slugify que tenemos aquí,

52
00:02:42,130 --> 00:02:44,856
‫por ejemplo, podría haber cambiado su nombre o

53
00:02:44,856 --> 00:02:48,940
‫tal vez el parámetro que espera aquí sea diferente o las

54
00:02:48,940 --> 00:02:51,240
‫opciones podrían haber cambiado, o algo

55
00:02:51,240 --> 00:02:53,210
‫podría haber cambiado que romperá

56
00:02:53,210 --> 00:02:55,123
‫la versión anterior. .

57
00:02:57,040 --> 00:02:59,720
‫Tenga en cuenta que cuando hay una

58
00:02:59,720 --> 00:03:02,020
‫nueva versión, normalmente puede afectar el

59
00:03:02,020 --> 00:03:03,570
‫código que ya tiene.

60
00:03:05,030 --> 00:03:07,300
‫Por eso, también es importante

61
00:03:07,300 --> 00:03:09,823
‫hablar sobre la actualización de paquetes.

62
00:03:10,670 --> 00:03:12,620
‫En nuestro paquete. json,

63
00:03:12,620 --> 00:03:15,258
‫este pequeño símbolo que aparece delante

64
00:03:15,258 --> 00:03:18,460
‫del número de versión es lo que especifica

65
00:03:18,460 --> 00:03:22,363
‫qué actualizaciones aceptamos para cada uno de los paquetes.

66
00:03:23,290 --> 00:03:27,430
‫Este símbolo aquí, que npm especifica aquí de

67
00:03:27,430 --> 00:03:31,900
‫forma predeterminada, significa que aceptamos parches y versiones menores.

68
00:03:31,900 --> 00:03:34,890
‫Ahora bien, ¿cómo actualizamos realmente los paquetes?

69
00:03:34,890 --> 00:03:39,080
‫Bueno, dejemos este proceso aquí.

70
00:03:39,080 --> 00:03:40,580
‫Lo primero que

71
00:03:40,580 --> 00:03:44,120
‫podemos hacer es comprobar si hay paquetes desactualizados.

72
00:03:44,120 --> 00:03:49,120
‫Escribimos npm desactualizado, y eso debería darnos una tabla con

73
00:03:49,720 --> 00:03:51,530
‫todos los paquetes que

74
00:03:51,530 --> 00:03:53,125
‫están desactualizados.

75
00:03:53,125 --> 00:03:55,970
‫Bueno, ahora mismo, están todos actualizados, así que

76
00:03:55,970 --> 00:03:57,860
‫eso no sucedió realmente.

77
00:03:57,860 --> 00:03:59,021
‫Lo que

78
00:03:59,021 --> 00:04:01,550
‫quiero mostrarles ahora es que en realidad

79
00:04:01,550 --> 00:04:05,240
‫podemos instalar cierto paquete con un cierto número de versión.

80
00:04:05,240 --> 00:04:06,945
‫Hagamos eso con Slugify e instálelo

81
00:04:06,945 --> 00:04:11,003
‫en la versión 1. 0. 0.

82
00:04:13,980 --> 00:04:18,980
‫Npm instale slugify y luego en 1. 0. 0.

83
00:04:22,220 --> 00:04:23,233
‫Probemos eso.

84
00:04:25,645 --> 00:04:29,560
‫Ahora, de hecho, tenemos un cero cero.

85
00:04:29,560 --> 00:04:31,740
‫Cuando lo colocamos, en realidad dice la

86
00:04:31,740 --> 00:04:35,773
‫última versión 1. 3. 4, que es lo que teníamos.

87
00:04:36,660 --> 00:04:40,630
‫Pero si ahora ejecutamos npm desactualizado,

88
00:04:40,630 --> 00:04:43,390
‫debería darnos eso.

89
00:04:43,390 --> 00:04:46,360
‫Vemos que la corriente es 1. 0. 0.

90
00:04:46,360 --> 00:04:50,642
‫Se busca 1. 3. 4, porque ese

91
00:04:50,642 --> 00:04:53,060
‫es el que aceptamos porque recuerda, que

92
00:04:53,060 --> 00:04:56,820
‫con esto aquí, aceptamos todo el parche y todos los

93
00:04:56,820 --> 00:04:59,821
‫lanzamientos menores, pero claro, también podemos cambiar eso.

94
00:04:59,821 --> 00:05:04,580
‫Por ejemplo, podemos establecerlo en este símbolo aquí.

95
00:05:04,580 --> 00:05:07,860
‫Esto solo aceptará lanzamientos de parches.

96
00:05:07,860 --> 00:05:09,483
‫Éste es un poco más seguro.

97
00:05:10,960 --> 00:05:13,570
‫Si ejecutamos npm desactualizado ahora nuevamente, veamos

98
00:05:13,570 --> 00:05:14,693
‫qué obtenemos.

99
00:05:15,590 --> 00:05:19,150
‫Ahora lo buscado es solo 1. 0. 2,

100
00:05:19,150 --> 00:05:22,690
‫porque nuevamente, solo aceptamos versiones menores.

101
00:05:22,690 --> 00:05:26,090
‫Entonces 1. 3. 4 no

102
00:05:26,090 --> 00:05:28,670
‫es aceptado por nosotros porque bueno, no

103
00:05:28,670 --> 00:05:30,820
‫aceptamos ninguno de los lanzamientos

104
00:05:30,820 --> 00:05:33,670
‫menores, así que nuevamente, solo lanzamientos de parches.

105
00:05:33,670 --> 00:05:38,670
‫Si tuviera que hacer npm update slugify ahora, veamos qué

106
00:05:41,460 --> 00:05:42,903
‫tenemos entonces.

107
00:05:45,360 --> 00:05:48,440
‫Ahora estamos en el 1. 0. 2.

108
00:05:48,440 --> 00:05:49,537
‫Verá que

109
00:05:49,537 --> 00:05:52,930
‫cambió de nuevo para mi configuración de actualización

110
00:05:52,930 --> 00:05:56,360
‫aquí para aceptar versiones menores y de parches.

111
00:05:56,360 --> 00:05:58,763
‫No solo los lanzamientos de parches como los que teníamos antes.

112
00:06:01,010 --> 00:06:02,820
‫Si vamos a ejecutar esto

113
00:06:02,820 --> 00:06:04,180
‫ahora de nuevo, debería

114
00:06:04,180 --> 00:06:08,163
‫subirnos hasta 1. 3. 4, como teníamos antes.

115
00:06:09,710 --> 00:06:11,343
‫De hecho, aquí vamos.

116
00:06:12,550 --> 00:06:16,060
‫Muy bien, así es como actualizamos los paquetes.

117
00:06:16,060 --> 00:06:18,240
‫Hay otras configuraciones que

118
00:06:18,240 --> 00:06:20,040
‫podemos elegir aquí.

119
00:06:20,040 --> 00:06:23,070
‫Podemos decir, por ejemplo, que queremos todas las

120
00:06:23,070 --> 00:06:25,970
‫versiones, así que si en algún momento,

121
00:06:25,970 --> 00:06:28,790
‫hay una versión dos y si no

122
00:06:28,790 --> 00:06:30,930
‫actualizamos nuestros paquetes, automáticamente

123
00:06:30,930 --> 00:06:33,633
‫subirá nuestra versión a la versión dos.

124
00:06:34,590 --> 00:06:36,903
‫Este incluye todas las versiones,

125
00:06:38,259 --> 00:06:40,880
‫incluso las que tienen cambios importantes.

126
00:06:40,880 --> 00:06:43,530
‫Pero esa no es una buena idea

127
00:06:43,530 --> 00:06:46,330
‫por lo general, por lo que generalmente elijo

128
00:06:46,330 --> 00:06:49,510
‫esta que es predeterminada, o incluso esta aquí porque

129
00:06:49,510 --> 00:06:52,740
‫en algún momento, incluso si una versión menor debería simplemente

130
00:06:52,740 --> 00:06:54,880
‫introducir nuevas funciones pero no cambios

131
00:06:54,880 --> 00:06:57,690
‫importantes, sabemos que a veces puede haber errores

132
00:06:57,690 --> 00:07:00,490
‫que los desarrolladores no encuentran, y luego estos

133
00:07:00,490 --> 00:07:02,270
‫errores, encuentran su camino

134
00:07:02,270 --> 00:07:05,010
‫en nuestro código y pueden romper nuestro código.

135
00:07:05,010 --> 00:07:07,600
‫No queremos eso, por supuesto.

136
00:07:07,600 --> 00:07:09,700
‫La versión más segura

137
00:07:09,700 --> 00:07:12,149
‫es usar esta para corregir errores.

138
00:07:12,149 --> 00:07:15,510
‫De hecho, dejémoslo así aquí, solo

139
00:07:15,510 --> 00:07:17,783
‫con fines de demostración.

140
00:07:19,183 --> 00:07:20,950
‫Esto es lo que necesita saber

141
00:07:20,950 --> 00:07:23,123
‫sobre los números de versión y la actualización.

142
00:07:24,030 --> 00:07:26,443
‫Pero, por supuesto, también podemos eliminar paquetes.

143
00:07:27,350 --> 00:07:30,493
‫Ahora sigamos e instalemos Express, para

144
00:07:36,280 --> 00:07:40,140
‫que podamos continuar y eliminarlo después de eso.

145
00:07:40,140 --> 00:07:43,000
‫Estoy seguro de que puede adivinar cómo podemos hacer eso.

146
00:07:43,000 --> 00:07:44,960
‫Eso es muy facil.

147
00:07:44,960 --> 00:07:49,620
‫Desinstalación de Npm, por lo que en realidad no se llama eliminar.

148
00:07:49,620 --> 00:07:51,510
‫Realmente se está desinstalando.

149
00:07:51,510 --> 00:07:56,303
‫Instalamos y desinstalamos Express.

150
00:07:58,170 --> 00:08:00,460
‫Eso luego lo eliminará de nuestra carpeta

151
00:08:00,460 --> 00:08:02,941
‫de módulos de nodo, y también de nuestras

152
00:08:02,941 --> 00:08:05,960
‫dependencias en un paquete. json archivo.

153
00:08:06,920 --> 00:08:11,000
‫Cada vez que decidimos no usar más un

154
00:08:11,000 --> 00:08:14,140
‫módulo, bueno, siempre debemos continuar y

155
00:08:14,140 --> 00:08:15,983
‫eliminarlo, o desinstalarlo.

156
00:08:16,900 --> 00:08:19,450
‫Ahora, como última cosa, quiero hablar un

157
00:08:19,450 --> 00:08:22,240
‫poco sobre la carpeta de módulos de nodo.

158
00:08:22,240 --> 00:08:24,010
‫Esta carpeta, que contiene

159
00:08:24,010 --> 00:08:26,600
‫todas las dependencias de nuestro proyecto.

160
00:08:26,600 --> 00:08:29,210
‫Digamos que desea compartir su código con alguien

161
00:08:29,210 --> 00:08:31,393
‫o que, por ejemplo, desea comenzar

162
00:08:31,393 --> 00:08:33,550
‫a trabajar en una computadora

163
00:08:33,550 --> 00:08:35,850
‫y luego pasar a la siguiente.

164
00:08:35,850 --> 00:08:39,140
‫Nunca compartirá esta carpeta de módulos de nodo porque

165
00:08:39,140 --> 00:08:42,330
‫este código, puede obtenerlo fácilmente de npm.

166
00:08:42,330 --> 00:08:44,570
‫No es necesario seguir adelante y

167
00:08:44,570 --> 00:08:46,760
‫copiar todo este código aquí, por

168
00:08:46,760 --> 00:08:50,730
‫ejemplo, en un repositorio de GitHub o en una carpeta de Dropbox,

169
00:08:50,730 --> 00:08:54,040
‫o realmente en algún lugar donde desee compartir su código,

170
00:08:54,040 --> 00:08:56,000
‫porque esta carpeta aquí, como

171
00:08:56,000 --> 00:08:58,616
‫puede ver, tiene toneladas de carpetas y

172
00:08:58,616 --> 00:09:01,670
‫cada uno de ellos puede tener toneladas de archivos.

173
00:09:01,670 --> 00:09:03,670
‫De repente, puede terminar con

174
00:09:03,670 --> 00:09:06,313
‫decenas o cientos de miles de archivos.

175
00:09:07,718 --> 00:09:09,860
‫Nunca debe compartir esta carpeta

176
00:09:09,860 --> 00:09:13,173
‫y nunca registrarla en su repositorio de GitHub.

177
00:09:14,680 --> 00:09:17,620
‫Digamos que cargó este código en su cuenta

178
00:09:17,620 --> 00:09:21,173
‫de GitHub sin los módulos de este nodo, o lo

179
00:09:22,580 --> 00:09:25,020
‫puso en un Dropbox en una

180
00:09:25,020 --> 00:09:27,660
‫computadora y lo descargó en la otra.

181
00:09:27,660 --> 00:09:30,464
‫Digamos que ahora descargamos este código aquí,

182
00:09:30,464 --> 00:09:32,780
‫sin módulos de nodo.

183
00:09:32,780 --> 00:09:34,540
‫Así que eliminamos ese ahora

184
00:09:36,050 --> 00:09:38,523
‫y terminamos con solo una carpeta de proyecto normal.

185
00:09:39,720 --> 00:09:42,092
‫¿Cómo recuperamos ahora nuestras dependencias o nuestra

186
00:09:42,092 --> 00:09:44,180
‫carpeta de módulos de nodo?

187
00:09:44,180 --> 00:09:46,120
‫Bueno, es muy fácil.

188
00:09:46,120 --> 00:09:48,503
‫Todo lo que tenemos que hacer es instalar npm.

189
00:09:55,490 --> 00:09:58,950
‫Lo que hizo fue leer nuestro paquete. json, lea

190
00:09:58,950 --> 00:10:02,030
‫nuestras dependencias y luego descargue todo

191
00:10:02,030 --> 00:10:05,860
‫de nuevo en esta carpeta, de acuerdo.

192
00:10:05,860 --> 00:10:07,940
‫Ahora, una pieza importante de este rompecabezas es

193
00:10:07,940 --> 00:10:10,503
‫el bloqueo del paquete. json archivo.

194
00:10:12,290 --> 00:10:15,070
‫Si lo abrimos, obtenemos una lista de

195
00:10:15,070 --> 00:10:17,710
‫todas las versiones de todos los paquetes

196
00:10:17,710 --> 00:10:19,210
‫que estamos usando.

197
00:10:19,210 --> 00:10:22,093
‫Eso incluye las dependencias de nuestras dependencias.

198
00:10:23,100 --> 00:10:25,373
‫Vayamos a Slugify, por ejemplo.

199
00:10:28,030 --> 00:10:29,910
‫Slugify, y aquí vemos que estamos usando la

200
00:10:29,910 --> 00:10:31,413
‫versión 1. 3. 4.

201
00:10:33,270 --> 00:10:35,600
‫Eso es muy importante porque si comparte

202
00:10:35,600 --> 00:10:38,420
‫su código, desea que el otro desarrollador o incluso

203
00:10:38,420 --> 00:10:40,190
‫usted mismo use exactamente las

204
00:10:40,190 --> 00:10:42,450
‫mismas versiones de paquete, de modo que

205
00:10:42,450 --> 00:10:45,760
‫su código funcione exactamente de la misma manera para usted y

206
00:10:45,760 --> 00:10:47,300
‫para el otro desarrollador.

207
00:10:47,300 --> 00:10:50,200
‫Para eso, los números de versión exactos están

208
00:10:50,200 --> 00:10:52,380
‫básicamente grabados en piedra en este

209
00:10:52,380 --> 00:10:54,833
‫paquete de bloqueo. json archivo.

210
00:10:56,624 --> 00:10:58,850
‫Si comparte su código, no importa

211
00:10:58,850 --> 00:11:02,180
‫si está usando GitHub o Dropbox o algo así, siempre

212
00:11:02,180 --> 00:11:04,690
‫comparta su paquete. json y

213
00:11:04,690 --> 00:11:07,660
‫el archivo package-lock. json porque

214
00:11:07,660 --> 00:11:09,690
‫estos dos archivos son necesarios

215
00:11:09,690 --> 00:11:12,460
‫para que el otro desarrollador luego reconstruya

216
00:11:12,460 --> 00:11:15,143
‫básicamente la carpeta de módulos de nodo.

217
00:11:18,232 --> 00:11:20,860
‫Sí, creo que eso es todo lo

218
00:11:20,860 --> 00:11:23,600
‫que necesita saber sobre las versiones de

219
00:11:23,600 --> 00:11:28,230
‫los paquetes, la actualización, la desinstalación y también el intercambio de código con

220
00:11:28,230 --> 00:11:31,710
‫npm, package. json y package-lock. json.

221
00:11:31,710 --> 00:11:33,870
‫Si hay algo más que desee saber,

222
00:11:33,870 --> 00:11:37,320
‫siempre puede volver a preguntar en el curso de preguntas y

223
00:11:37,320 --> 00:11:39,323
‫respuestas y luego obtendrá ayuda allí.

