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—depth 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.

“I 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!!

–save // -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.
–save-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.
–dry-run Hace una simulación de la instalación del paquete para tomar una decisión si instalarlo o no.
–force // -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]

–dry-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> –o #intala los paquetes en una versión específica.
npm install <package> –f #fuerza la instalación de paquetes.
npm install <package> –o #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 “devDependencies” y “Dependecies” ?

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?