Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

665
Vistas
¿Hay alguna forma de arreglar package-lock.json lockfileVersion para que npm use un formato específico?

Si dos desarrolladores diferentes usan versiones diferentes de node (12/15) y npm (6/7) en un proyecto que se creó originalmente usando un package-lock.json "lockfileVersion": 1 , cuando el desarrollador que usa npm 7x instala una nueva paquetes parece que el package-lock.json se vuelve a crear usando "lockfileVersion": 2 .

Esto parece causar problemas para el desarrollador que usa npm v6, ya que intenta trabajar con lockfileVersion 2 , pero termina produciendo nuevas diferencias.

npm WARN read-shrinkwrap Esta versión de npm es compatible con lockfileVersion@1, pero se generó package-lock.json para lockfileVersion@2. ¡Intentaré hacerlo lo mejor posible con él!

¿Hay alguna forma de especificar que las versiones más nuevas de npm solo usen "lockfileVersion": 1 ? ¿O solo tenemos que obtener todos los desarrolladores en la misma versión de npm ?

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

npm WARN read-shrinkwrap Esta versión de npm es compatible con lockfileVersion@1, pero se generó package-lock.json para lockfileVersion@2. ¡Intentaré hacerlo lo mejor posible con él!

para superar este problema, ejecute el comando

 npm i -g npm@latest

globalmente y ejecutando el comando

 npm i npm@latest

en el archivo del proyecto me ayudó a resolver el problema.

over 4 years ago · Santiago Trujillo Denunciar

0

Por lo que puedo ver, los documentos de npm dicen que npm v6 funcionará con archivos de bloqueo de la versión 2 a pesar de la advertencia, por lo que no necesita hacer ninguna de las cosas sugeridas en la respuesta aceptada y puede ignorar con seguridad el mensaje de advertencia.

En las notas de lanzamiento de npm 7 dijeron:

Un cambio a tener en cuenta es el nuevo formato de archivo de bloqueo, que es retrocompatible con los usuarios de npm 6. El archivo de bloqueo v2 desbloquea la capacidad de hacer compilaciones deterministas y reproducibles para producir un árbol de paquetes.

En los documentos de npm dice (mi énfasis):

lockfileVersion

Una versión entera, comenzando en 1 con el número de versión de este documento cuya semántica se usó al generar este paquete-lock.json.

Tenga en cuenta que el formato de archivo cambió significativamente en npm v7 para rastrear información que, de otro modo, habría requerido buscar en node_modules o en el registro de npm. Los archivos de bloqueo generados por npm v7 contendrán lockfileVersion: 2.

  • No se proporcionó una versión: un archivo de ajuste "antiguo" de una versión de npm anterior a npm v5.
  • 1: La versión del archivo de bloqueo utilizada por npm v5 y v6.
  • 2: La versión del archivo de bloqueo utilizada por npm v7, que es compatible con versiones anteriores de los archivos de bloqueo v1.
  • 3: La versión del archivo de bloqueo utilizada por npm v7, sin posibilidades de compatibilidad con versiones anteriores. Esto se usa para el archivo de bloqueo oculto en node_modules/.package-lock.json, y probablemente se usará en una versión futura de npm, una vez que la compatibilidad con npm v6 ya no sea relevante .

Es por eso que pueden actualizar automáticamente los archivos de bloqueo de v1 a v2, que mencionas, sin romper nada.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda