A煤n no tienes acceso a esta clase

Crea una cuenta y contin煤a viendo este curso

Instalaci贸n de dependencias con force

6/15
Recursos

Aportes 57

Preguntas 19

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesi贸n.

En esta p谩gina https://docs.npmjs.com/files/package.json.html#dependencies puedes ver una descripci贸n de lo que significan los simbolos que se usan para especificar las versiones el el apartado de dependencias de package.json.

Tambi茅n es bueno darle una leidita a https://docs.npmjs.com/files/package.json.html#dependencies para ver que podemos especificar para el comando install, ya que se puede usar para instalar m谩s que solo paquetes de npm registry.

NPM decidi贸 agregar un nuevo comando: npm fund que brindar谩 m谩s visibilidad a los usuarios de npm sobre qu茅 dependencias buscan activamente formas de financiar su trabajo .
.
Este comando recupera informaci贸n sobre c贸mo financiar las dependencias de un proyecto determinado.
.
Si no se proporciona el nombre del paquete, enumerar谩 todas las dependencias que buscan financiaci贸n en una estructura de 谩rbol en la que se enumeran el tipo de financiaci贸n y la URL a visitar.
.
Si se proporciona un nombre de paquete, entonces intenta abrir su url de financiaci贸n utilizando el --browser par谩metro de configuraci贸n.

Cuando queremos ver el output de una dependencia sin proceder con su instalaci贸n ejecutamos.

npm install name_package --dry-run

Instalar la 煤ltima versi贸n y desde los servidores de npm:

npm install webpack -f

npm install webpack --force

Instalar una versi贸n exacta de un paquete:

npm install [email protected]

Instalaci贸n de Dependencias

  • en nuestro proyecto jsnpm creamos una carpeta con mkdir src que es donde va a vivir todos los archivos que van a consumir todos los recursos que hemos instalado

  • despues creamos un archivo con touch index.js

  • ahora hay que hacer pwd que nos indica la ruta donde estamos ya que las dependencias se deben instalar en nuestra carpeta ra铆z de nuestro proyecto y entonces nos movemos a esta raiz

  • ahora para instalar un paquete, es aqu铆 donde tomamos la decisi贸n de como lo vamos a ejecutar,

    • ahora al momento que instalamos el primer paquete se nos creara una carpeta node_modules aqui se instalaran lo modulos que estamos agregando a nuestro proyecto y sera necesaria para que este funcione, pero no debe ser enviada a ningun repositorio ni a nuestro proyecto a produccion y por eso debemos ignorarla al nos mas se cree y para ello creamos un archivo .gitignore en la carpeta raiz y dentro de este escribimos node_modules/

    • npm install <package> este por defecto se instala como una dependencia requerida para el proyecto es decir que el paquete que instalas es necesario para vivir en produccion esto tiene otras variantes como npm install <package> --save aqui la palabra save se tomara por defecto y no es necesario escribirla o npm install <package> --S como ejemplo instalaremos npm install moment para manejar fecha en javascript o con el shortcut npm install moment --S

      "moment": {
            "version": "2.29.1",
            "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz",
            "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ=="
          }
      
    • npm i <package> -D (este es con shortcut) o npm install <package> save-dev este flag nos va a permitir establecer que el paquete a instalar solo es necesario en nuestro entorno local o el entorno de desarrollo ejem: vamos a instalar una dependencia que maneja fecha y datos npm install date-fns save-dev

      "dependencies": {
          "date-fns": {
            "version": "2.16.1",
            "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.16.1.tgz",
            "integrity": "sha512-sAJVKx/FqrLYHAQeN7VpJrPhagZc9R4ImZIWYRFZaaohR3KzmuK88touwsSwSVT8Qcbd4zoDsnGfX4GFB4imyQ==",
            "dev": true
          }
      
    • npm install <package> -g instalar un paquete de forma global, esto nos permite que podamos utilizar este paquete en diferentes proyectos por lo general se deben instalar estos paquetes con permisos de administrador. Ejem. sudo npm install -g nodemon nos permite generar un demonio que va a estar siempre escuchando algun cambio o algun valor y nos va dejar mantener en nuestro proceso algun comando que estemos ejecutando de node

    • Guia para no esta colocando permisos de administrador a cada rato https://docs.npmjs.com/resolving-eacces-permissions-errors-when-installing-packages-globally

    • npm list -g鈥攄epth 0 (depth es la profundidad que va a buscar dentro de los paquetes) ver los paquetes que est谩n instalados de forma global

      /usr/lib
      鈹溾攢鈹 [email protected]2.0.6
      鈹斺攢鈹 [email protected]6.14.8
      
    • npm list es para listar los paquetes que tienen un proyecto en especifico

    • npm install <package> -O podemos instalar de forma opcional un paquete con este comando ejemplo instalaremos eslint para correcciones de codigo en JS npm install eslint -O y cuando finalizamos siempre nos un output de mensajes y tiempos de ejecucion en este ejemplo

    //nos disce que podemos donar y que ejecutamos npm fund para apollar
    //a los desarrolladores
    10 packages are looking for funding
      run `npm fund` for details
    
    • npm install <package> --dry-run (simula la instalaci贸n) este flag indica que el paquete no va a ser instalado dentro del proyecto simplemente es una simulaci贸n nada mas nos muestra el output como si fuere instalado, despues de esto nosotros decidimos si la instalamos o no ejem: npm install react --dry-run
    • npm install <package> -f o npm install <package> --force instalar alg煤n paquete de forma forzada y nos va a permitir instalar este paquete forz谩ndola a que sea desde el ultimo recurso o version y desde el servidor de NPM ejemplo npm install webpack -f si nos vamos al archivo package.json y vemos que el paquete se instalo en las dependencies pero estas deberieron estar en devdependencies podemos tomar el nombre de ese paquete cortarlo y pegarlo en el grupo que corresponda
    //asi se instalo en dependecies
    "dependencies": {
        "date-fns": "^2.16.1",
        "eslint": "^7.12.1",
        "moment": "^2.29.1",
    		"webpack": "^5.3.2"
      },
      "devDependencies": {
        
      },
    
    //nosotros lo cortamos y lo pegamos en devDependecies
    "dependencies": {
        "date-fns": "^2.16.1",
        "eslint": "^7.12.1",
        "moment": "^2.29.1"
        
      },
      "devDependencies": {
        "webpack": "^5.3.2"
      },
    
    • npm install si nosotros queremos volver a instalar todas las dependencias que est谩n en el package.json
    • npm install <package>@<version> para instalar algun paquete con una versi贸n espec铆fica, esto puede ser necesario cuando tenemos que darle mantenimiento a una app con una version anterior de algun paquete o quizas las version actual es beta, etc. ejem: npm install [email protected]

El paquete json-server es fant谩stico, se pueden hacer peticiones HTTP a un archivo json, yo lo uso con Ngrok y hago peticiones externas.

Un error que cometemos al clonar un proyecto de un repositorio remoto, es querer iniciar la aplicaci贸n de forma local inmediatamente despu茅s de descargar el c贸digo. Seguramente, nada funcionar谩, debido a que no existe la carpeta node_modules que contiene las dependencias requeridas.

Como regla, siempre ejecuten npm install despu茅s de clonar el proyecto.

鈥淚 sure hope you know what are you doing鈥
"Espero que sepas qu茅 est谩s haciendo"
Me encanta los mensajes que da NPM 馃ぃ

Luego de instalar webpack ahora entiendo estos memes 馃槀


Instalaci贸n de dependencias con force

Simula la instalacion para tener un output para decidir si instalarlo

npm install react --dry-run
<h3>Instalacion forzada</h3>
npm install webpack -f
<h3>Como reinstalar todos los paquetes y dependencias</h3>

Este comando toma el archivo package.json e intala todo lo que tiene en el.

npm install
<h3>Instalacion de una version en particular</h3>
npm install [email protected]

npm install (nombre del paquete) --dry-run
Este flag nos sirve para no instalar la dependencia dentro del proyecto, pero nos muestra la salida que retorna, es solo simular la instalaci贸n, de esta manera con la salida podemos decidir si instalamos o no
npm install (paquete) -f
Esta bandera forza la instalaci贸n del paquete del 煤ltimo recurso que tiene el servidor
npm install instala todas las dependencias encontradas en el archivo package.json
npm fund muestra paquetes con financiamiento
npm install (paquete)@0.15.0 De esta manera se instala un paquete especificando la instalaci贸n

No entend铆 bien, el comando npm install (solo sin m谩s) reinstala todo?

Puedes instalar una version exacta, sin constrains usando:

npm i --save-exact [email protected]

tu package.json quedara asi

{
  "dependencies": {
    "my-package": "1.2.3"
  }
}

Vale, tengo una duda, depronto me perdi de algo, pero si no especifico que la instalacion es de desarrollo o global como queda instalada ?

Cuando instalas con una version especifica de un paquete, ejemplo:

npm i -S [email protected]

notaras que en el package.json queda de esta forma

{
  dependencies: {
    "package": "^3.2.1"
  }
}

esto significa que instala la vevsion que especificaste pero el simbolo ^ permite que este abierto a actualizacion del ultimo digito (path=1)
entocnes si tu corres el comando de actualizacion de paquetes:

npm update

entonces el paquete se actualizara de la siguiente forma

{
  dependencies: {
    "package": "^3.2.2"
  }
}

sino quieres que el paquete se actualice, ni haciendo el comando npm update (tal vez porque dependes de esa vercion exacta) puedes hacer:

npm i -S --save-exact [email protected]

entonces tu package.json quedara asi

{
  dependencies: {
    "package": "3.2.1"
  }
}

y ya no quedara abierto a actualizaciones, aun que ejecutes el comando npm update tu paquete segura en la misma version

Hey gente! Alguien sabe para qu茅 se usan las dependencias opcionales?

Para instalar la 煤ltima versi贸n de una dependencia utilizar 鈥淍latest鈥 al indicar la versi贸n.

npm install [email protected]

驴Qu茅 es --dry-run?

Este flag se utiliza al final de un comando para simular lo que va a pasar al ejecutar ese comando, es muy 煤til cuando vamos a eliminar archivos, por ejemplo.

Su traducci贸n es ejecuci贸n en seco. Esto proviene de la manera en la que probaban los barcos antes de ponerlos en agua

Me pasa que hay cursos de varias horas a los que incluso les tengo que acelerar velocidad a 1,5 o 1,75, pero tambi茅n otros como este que prefiero hacerlo despacio y repetirlos porque son de mucha interiorizaci贸n y comprensi贸n. No se si les pasa igual o soy de otro planeta jeje!!

鈥搒ave // -S Indicamos que es necesario que el paquete que ser谩 instalado tiene que vivir en el entorno de producci贸n. Si no se coloca este estado se entiende por defecto esta opci贸n.
鈥搒ave-deb // -D Indicamos que el paquete que ser谩 instalado solo vivir谩 en el entorno de desarrollo.
-g La dependencia ser谩 instalada de manera global. Esto significa que estar谩 disponible en todos los proyectos que creemos.
Tiene una sintaxis diferente, pues ocupa el estado bandera antes del nombre del paquete. (Se debe instalar con permisos de SU)
npm install-gnodemon
-O Indicamos que el paquete que ser谩 instalado puede ser opcional.
鈥揹ry-run Hace una simulaci贸n de la instalaci贸n del paquete para tomar una decisi贸n si instalarlo o no.
鈥揻orce // -f Fuerza la instalaci贸n del paquete a la ultima versi贸n desde los servidores de NPM
[packName]@version.0.0 Podemos instalar una dependencia desde una versi贸n especifica para alg煤n uso que queramos.

porque cuando le doy npm fund me salen mas archivos que a el

[email protected]1.0.0
+-- https://opencollective.com/date-fns
| `-- [email protected]
+-- https://opencollective.com/eslint
| `-- [email protected]
+-- https://opencollective.com/webpack
| `-- [email protected]
+-- https://github.com/chalk/chalk?sponsor=1
| `-- [email protected]
+-- https://github.com/sponsors/sindresorhus
| `-- [email protected], [email protected], [email protected], [email protected], [email protected]
+-- https://github.com/sponsors/mysticatea
| `-- [email protected]
+-- https://github.com/chalk/ansi-styles?sponsor=1
| `-- [email protected]
+-- https://github.com/sponsors/isaacs
| `-- [email protected]
+-- https://github.com/sponsors/feross
| `-- [email protected]
+-- https://www.patreon.com/feross
| `-- [email protected]
+-- https://feross.org/support
| `-- [email protected]
`-- https://github.com/sponsors/jonschlinkert
  `-- [email protected]

鈥揹ry-run --> Simular una instalaci贸n
-f --> forzar una instalaci贸n

npm install

Revisa el package.json e instala nuevamente esas dependencias o paquetes.

Mi resumen:

  • Existe una flag que vamos a utilizar para poder distinguir que una dependencia no va a ser instalada en el proyecto, pero si queremos ver el output que nos retorna.
    .
    npm install react --dry-run Lo que hace esta flag es simular que se instala, para ver que se esta instalando para que despu茅s tu decidas si vas o no a instalar el paquete.
    .
  • Hay otra forma de instalar tambi茅n paquetes y es con el flag force El cual nos va a permitir instalar el paquete forzando esta instalaci贸n a que sea desde el ultimo recurso desde el servidor de npm, este se ejecuta de la siguiente forma:
    .
    npm install webpack -f
    .
    Si la dependencia no se instalara en el lugar deseado lo que podemos hacer es modificar nuestro package.json cumpliendo con el estandar del archivo y despu茅s ejecutamos npm install
    .
    Lo que hara npm install es revisar el archivo package.json para volver a instalar las dependencias.
    .
  • La ultima forma para poder instalar una dependencia es si conocemos la versi贸n particular que vamos a utilizar en el proyecto, por ejemplo como para darle mantenimiento. Lo que hacemos es usar el comando npm install [email protected]

Instalaci贸n de dependencias con force

Nos permite instalar el paquete forzando que la instalaci贸n de haga con el ultimo recurso o versi贸n del servidor de npm.

npm install webpack -f

Tenemos una opci贸n para distinguir que un paquete no va hacer instalado en un proyecto, pero queremos ver el output que genera. Esto simula la instalaci贸n y retornar铆a el mensaje que normalmente retornaria si se llegara a instalar este paquete.

npm i react --dry-run

Buenas practicas

Existen momentos en que estamos instalando nuestros paquetes de producci贸n o desarrollo y se nos olvida colocar el flag adecuado, lo mejor que podemos hacer es ir a nuestro archivo package.json, corregir donde deber铆a ir el paquete y correr el siguiente comando que realizar铆a un instalaci贸n nuevamente de las dependencias.

npm install 

Instalar un paquete con una versi贸n especifica

Esto lo realizamos si necesitamos hacer un mantenimiento a alg煤n proyecto que maneje una versi贸n antigua de cierto paquete.

npm install [email protected]15.0

Obviamente debemos previamente garantizar que ese paquete funcione.

Resumen de la clase

En esta clase vimos algunas formas en las cuales nosotros podemos descargar paquetes desde Node Package Manager (npm).

  • Simulaci贸n de instalaci贸n. Nosotros podemos simular que descargamos un paquete, solo para ver que input nos arroja (esto es 煤til para saber cuanto espacio ocupara ese paquete en tu computadora, para que decidas si lo descargas o no). El comando que usamos es npm install <package> --dry-run.
  • Forzar la instalaci贸n desde la ultima versi贸n. Para esto usamos la bandera -f, vi茅ndose algo as铆: npm install <package> -f
  • Descargar una versi贸n especifica de una dependencia. Para descargar una versi贸n especifica de una dependencia, lo que hacemos es escribir nuestra dependencia, seguido de un @ y la versi贸n especifica que queremos descargar, como por ejemplo: npm install <package>@0.15.0

.

Cambios manuales

Es com煤n que se nos olvide poner las banderas o flags correctas al momento de descargar una dependencia. Sin embargo, podemos cambiar el archivo package.json manualmente.
Al final de esto, tendremos que usar el comando npm install para que los cambios queden actualizados, Este comando lo que hace es descargar cada una de las dependencias de nuevo, actualizando todos los cambios manuales.

Instalaci贸n de dependencias

// SAVE: Que este documento que se va a instalar dentro del proyecto es necesario 
para vivir en produci贸n tener cuidado al momento de instalarlo si es para produci贸n o no

//DEV: Nos permite establecer si va hacer en entorno local o entorno de desarrollo 
npm install moment --save-dev

Nos aparecera una carpeta en CODE. node_modules / moment

Aqui es donde se van a instalar los modulos que estas agregando al proyecto. Esta carpeta es importante pero no debe de ser enviada a ningun repositorio y debemos de ignorarla

Creamos un archivo .gitignore y le ponemos node_modules/

con esto nos aseguramos de que esa carpeta se valla a enviar a algun repositorio

//Instalar paquete y tambien como una dependenia de desarrollo Algo mas abreviado
**npm i** date-fns **-D**

Paquete de fotma GLOBAL

npm install -g nodemon

Permite ver la lista de paquetes que tenemos instalados de forma GLOBAL

npm list -g --depth 0

Simulaci贸n: simula la instalaci贸n de paquetes

npm install react --dry-run

Instalar paquetes forzados que sea desde su ultimo recurso del servido de NPM

npm install webpack -f

Existe un flag que sirve para distinguir que esta dependencia no sera instalada dentro del proyecto, pero si queremos ver el OUTPUT que nos retorna. Para eso usamos

npm install react --dry-run

Al hacer esto veremos como si se nos instalara pero realmente en los archivos del programa no se instalo nada.

Otra forma es con el flag force, nos permitira instalar el paquete forzando la instalacion que sea desde el ultimo recurso desde el servidor de NPM. Como:

npm install webpacl -f

Esto solo puede hacer que se instale pero que no este en donde queremos que este, en el package.son podemos acomodar donde queremos que este en caso de que se nos olvide poner el flag.

Podemos usar el comando

npm install

Para que revise el archivo package.json para que se instale todo lo que esta ahi.

Otra forma de instalar el paquete, si queremos una version en particular que queremos utilizar. Usamos:

npm install [email protected]0.15.0

Este comando hace que va y que busca en los servidores de NPM la version que le dijimos.

npm install name-package --dry-run
/*Simular la instalaci贸n de un paquete, no se instala*/

npm install name-package --force
/* Forzar la instalaci贸n de un paquete o dependcia*/
npm install
/*Revisa el package.json e instala todas las dependencias que est谩n declaradas all铆 */

Instalaci贸n de dependencias con force



Hay un flat para distinguir que esta dependencia no ser谩 instalada en el proyecto pero queremos ver lo que nos retorna.

npm install name --dry-run

Hay otra forma para instalar paquetes. Force el cu谩l nos permite instalar forzando como 煤nico recurso desde el servidor de npm.

npm install name -f

De esta manera forzamos la instalaci贸n pero puede que no este el path que deber铆a. Aunque podemos moverlo manualmente manipulando el package.json.

Para instalar todas las dependencias que tenemos en un nuestro package.json basta con usar el comando:

npm install

npm install [email protected]
Para instalar versiones anteriores de alguna dependencia.

Excelente clase instructor Oscar, gracias por compartirnos otras maneras de c贸mo pueden instalarse las dependencias, en especial una versi贸n especifica.

Muy buena clase: corta, amena y espec铆fica.

COMANDOS CLAVE
.
npm list -g --depth 0 // muestra dependencias instaladas a nivel global
.
npm i react --dry-run // simula simula instalacion para ver version, cantidad paquetes, etc
.
npm i webpack -f // -f = force
.
npm install / revisa el archivo package.json y reinstalla todas las dependencias

Instalaci贸n de paquetes con force

1. npm install <package> --dry-run 

Permite obtener el output que genera el paquete al instalrse, sin que se instale en el proyecto.

2. npm install <package> -f 贸 -force

Permite forzar la instalaci贸n del paquete desde la 煤ltima versi贸n y desde los servidores de npm

3. npm install

Instala todos los paquetes que se encuentran en el archivo package.json

4. npm install <package>@<version>

permite instalar un paquete desde la versi贸n deseada

Links de inter茅s

驴Qu茅 significan los simbolos que se usan para especificar las versiones?

驴Qu茅 podemos especificar para el comando install?

Agradecimiento por los links a @buzu

si quieren conocer mas informacion sobre un comando es solo escribir en la consola lo siguiente

comando -h o --help

RESUMEN:
//npm fund
npm fund give us a form to support the proyect.

//See what would happen if we install the package
npm install react --dry-run

//Install dependences with force
npm install webpack -f or npm install webpack --force
鈥>force update to the last actualization of the package

//Install every package thatif into the file package.json
npm install

//Install the packages --production
npm install --production

//Install an especific package version
npm install [email protected]
example:npm install [email protected]

Clase 6: Instalaci贸n de dependencias con force

  • npm install react --dry-run: nos da la entada de lo que pasar铆a se instalara la dependencia.
  • npm install: revisa el archivo de package y reinstala todas las depencias.
  • npm install [email protected]: para descargar una versi贸n especifica

ESLint es puesta como opcional ya que no es necesaria para que el c贸digo se ejecute. Esta herramienta sirve para revisar y limpiar los errores del c贸digo.

npm install <package> --dry-run #simula las depencias a instalar.
npm install <package>@<version> 鈥搊 #intala los paquetes en una versi贸n espec铆fica.
npm install <package> 鈥揻 #fuerza la instalaci贸n de paquetes.
npm install <package> 鈥搊 #instala depencias pero son consideradas como opcionales.

npm install react --dry-run
npm install webpack -f
npm fund
npm install [email protected]

[package]@[version] => para instala un paquete con la versi贸n que se necesita

ya comprendo el @

隆Excelente!

me gusta este curso, aclara muchisimas cosas

y cual es la diferencia entre npm install y npm install -force?

Cual es la diferencia de las 鈥渄evDependencies鈥 y 鈥淒ependecies鈥 ?

May the force be with you all!

force to see this

No conoc铆a las secciones las cuales pueden ser instaladas las dependencias, muy util.

Necesitaba este curso !!

Excelente!

Interesante!

Todo s煤per claro hasta el momento 馃槃

Entendido

Para qu茅 sirven las optional dependencies?