Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

350
Views
¿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 answers
Answer question

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 Report

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 realizar un seguimiento de la 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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!