update que node modules lock installing delete changes after node.js npm yarnpkg

node.js - que - package-lock.json delete



¿Cuál es la diferencia entre yarn.lock y npm''s package-lock? (1)

Sobre el papel, Yarn y NPM 5 parecen casi equivalentes. Ambos tienen archivos de bloqueo deterministas y casi han coincidido en funcionalidad. Algunos dirían que Yarn fue el catalizador para lograr que NPM innovara.

Sin embargo, después de experimentar NPM 5 durante un mes, mi equipo decidió mudarse a Yarn.

NPM técnicamente tiene un archivo de bloqueo "más determinista" en el sentido de que existe una garantía teórica de que en todas las versiones de NPM, NPM producirá exactamente la misma carpeta node_modules . Por otro lado, la elevación / ordenación exacta de las dependencias de Yarn depende de la versión de Yarn y podría cambiar a través de las versiones de Yarn. En general, esto tiene muy poco impacto.

¿Por qué usar Yarn entonces? Fusión y fiabilidad.

Yarn hizo que el ligero determinismo se compensara para lograr un archivo yarn.lock mucho más yarn.lock que sea más fácil de fusionar. Si eres un desarrollador en solitario, esto probablemente no te afectará, pero si estás en un equipo con varios colaboradores que realizan cambios de dependencia, rápidamente se convierte en un gran problema. El package-lock de package-lock de NPM es prácticamente imposible de fusionar y terminas teniendo que volver a generar o luchar. Por otro lado, con Yarn, las combinaciones son fáciles y predecibles.

Consulte: yarnpkg.com/blog/2017/05/31/determinism

Como nota al margen, también encontramos que el hilo es más confiable en promedio.

Accidentalmente ejecuté npm install en un proyecto que usa Yarn y noté que npm creó un archivo package-lock.json .

Sé que Yarn aumentó en popularidad en parte porque usó un archivo de bloqueo para producir instalaciones de dependencia más confiables y deterministas que npm, que por un tiempo solo tenía una característica de encogimiento encogido, pero ahora no estoy seguro de qué hacer con este archivo de bloqueo de npm negocios y si hay algo convincente acerca de continuar usando Yarn.

Así que en el espíritu de una Q y A anterior en StackOverflow en hilo vs shrinkwrap , pido lo siguiente:

  • ¿Hay diferencias sustanciales entre los dos administradores de paquetes en términos de confiabilidad?
  • Si no es así, ¿hay alguna razón convincente para continuar usando Yarn además de "Más emojis. 🐈"?