NPM and Yarn are package managers that help to manage a project’s dependencies. A dependency is, as it sounds, something that a project depends on, a piece of code that is required to make the project work properly. We need them because managing the project’s dependencies is a difficult task and it quickly becomes tedious, and out of hand when the project grows. By managing the dependencies, we mean to include, un-include, and update them.
npm: Es un administrador de paquetes para el lenguaje de programación JavaScript. Es el administrador de paquetes predeterminado para el entorno de tiempo de ejecución de JavaScript Node.js. Consiste en un cliente de línea de comandos, también llamado npm, y una base de datos en línea de paquetes públicos y privados pagados llamada registro npm.
yarn: significa Yet Another Resource Negotiator y es un administrador de paquetes como npm. Fue desarrollado por Facebook y ahora es de código abierto. La intención detrás del desarrollo de yarn (en ese momento) era solucionar problemas de rendimiento y seguridad con npm.
Las diferencias entre npm e yarn se explican a continuación:
Procedimiento de instalación
- npm: npm se instala con Node automáticamente.
- yarn: Para instalar yarn, se debe instalar npm.
npm install yarn --global
El archivo de bloqueo
- npm: NPM genera un archivo ‘package-lock.json’. El archivo package-lock.json es un poco más complejo debido a un compromiso entre determinismo y simplicidad. Debido a esta complejidad, el bloqueo del paquete generará la misma carpeta node_modules para diferentes versiones de npm. Cada dependencia tendrá un número de versión exacto asociado en el archivo de bloqueo del paquete.
- yarn: Yarn genera un archivo ‘yarn.lock’. Los archivos de bloqueo de hilo ayudan a fusionar fácilmente. Las fusiones también son predecibles, debido al diseño del archivo de bloqueo.
Registro de salida
- instalar: el npm crea registros de salida masivos de comandos npm. Es esencialmente un volcado de seguimiento de pila de lo que está haciendo npm.
- agregar: Los registros de salida de hilo son limpios, visualmente distinguibles y breves. También están ordenados en forma de árbol para facilitar la comprensión.
Instalación de dependencias globales
- npm: para instalar un paquete global, la plantilla de comando para npm es:
npm install -g package_name@version_number
- yarn: para instalar un paquete global, la plantilla de comando para yarn es:
yarn global add package_name@version_number
El comando ‘por qué’:
- npm: npm todavía no tiene una funcionalidad de ‘por qué’ incorporada.
- yarn: Yarn viene con un comando ‘por qué’ que dice por qué una dependencia está presente en el proyecto. Por ejemplo, es una dependencia, un módulo nativo o una dependencia del proyecto.
Comprobador de licencias
- npm: npm no tiene un verificador de licencias que pueda brindar una descripción útil de todas las licencias con las que está vinculado un proyecto, debido a las dependencias instaladas.
- yarn: Yarn tiene un buen verificador de licencias. Para verlos, corre
yarn licenses list
Obteniendo paquetes
- npm: npm obtiene dependencias del registro de npm durante cada comando ‘npm install’.
- Yarn: yarn almacena dependencias localmente y las obtiene del disco durante un comando ‘agregar hilo’ (asumiendo que la dependencia (con la versión específica) está presente localmente).
Comandos cambiados en yarn después de npm
dominio | npm | hilo |
---|---|---|
Instalar dependencias | instalar npm | hilo |
Paquete de instalación | npm install nombre_paquete npm install nombre_paquete@número_versión |
hilo añadir nombre_paquete hilo añadir nombre_paquete@número_versión |
Desinstalar paquete | npm desinstalar nombre_paquete | hilo eliminar nombre_paquete |
Instalar paquete de desarrollo | npm install nombre_paquete –save-dev | hilo añadir nombre_paquete –dev |
Actualizar paquete de desarrollo | npm actualizar nombre_paquete npm actualizar nombre_paquete@número_versión |
actualización de hilo nombre_paquete actualización de hilo nombre_paquete@número_versión |
ver paquete | npm ver nombre_paquete | información de hilo nombre_del_paquete |
Paquete de instalación global | npm install -g nombre_paquete | hilo global agregar nombre_paquete |
Comandos iguales para npm e yarn:
npm | hilo |
---|---|
inicio npm | inicio de hilo |
npm ejecutar [secuencia de comandos] | tirada de hilo [script] |
lista npm | lista de hilos |
prueba npm | prueba de hilo |
enlace npm | enlace de hilo |
npm iniciar sesión o cerrar sesión | inicio de sesión o cierre de sesión de hilo |
npm publicar | hilo publicar |
Publicación traducida automáticamente
Artículo escrito por Parikshit Hooda y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA