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

172
Vistas
npm WARN old lockfile El archivo package-lock.json se creó con una versión anterior de npm

Tengo un dockerfile como se muestra a continuación, pero durante el paso RUN npm ci , hay una advertencia,

npm WARN old lockfile El archivo package-lock.json se creó con una versión anterior de npm

que no puedo descifrar..

Probé con npm install en lugar de npm ci y agregué el --package-lock , pero sigo recibiendo esta advertencia. Es una especie de advertencia. ¿Tengo que ignorarlo o qué debo hacer para solucionar esto?

 Step 12/26 : RUN npm ci --production --package-lock && npm ci --production --package-lock --prefix ./ui-runner ---> Running in 3473c209b98c npm WARN old lockfile npm WARN old lockfile The package-lock.json file was created with an old version of npm, npm WARN old lockfile so supplemental metadata must be fetched from the registry. npm WARN old lockfile npm WARN old lockfile This is a one-time fix-up, please be patient... npm WARN old lockfile

Aquí está mi archivo Docker .

 FROM node:14.17.1-alpine3.13 AS builder WORKDIR /usr/src/app COPY package.json package-lock.json* ./ COPY ui-runner/package*.json ./ui-runner/ COPY .npmrc .npmrc COPY ui-runner/.npmrc ./ui-runner/.npmrc RUN npm -g install npm@7.19.1 RUN npm ci --production --package-lock && \ npm ci --production --package-lock --prefix ./ui-runner RUN rm -f .npmrc && \ rm -f ui-runner/.npmrc FROM node:14.17.1-alpine3.13 WORKDIR /usr/src/app RUN apk update && apk add --no-cache curl bash RUN addgroup -g 1001 test && \ adduser -S -u 1001 -G test test RUN chown -R test /usr/src/app && \ chmod 755 /usr/src/app COPY --from=builder /usr/src/app /usr/src/app COPY . . RUN npm run build:docker USER test EXPOSE 3000 9183 CMD [ "npm", "run", "start:ui-runner" ]
over 4 years ago · Santiago Trujillo
7 Respuestas
Responde la pregunta

0

Estaba enfrentando un problema similar. Después de leer los comentarios anteriores, noté que la versión de Node.js instalada en mi máquina era la v14.17.5 y la versión de npm era la v7.19.1 . Refiriéndose a la búsqueda del historial de versiones y degradando npm a v6.14.14 (compatible con el nodo v14.17.5 ) se resolvió el problema.

over 4 years ago · Santiago Trujillo Denunciar

0

Primero verifique su versión de Node.js: vaya a un indicador de cmd y

 node -v

Según la versión, verifique la versión de node-sass e instálela:

 npm node-sass@version

De nodo-sass :

 Node 16 - 6.0+ Node 15 - 5.0+ Node 14 - 4.14+ Node 13 - 4.13+, Node 12 - 4.12+ Node 11 - 4.10+, Node 10 - 4.9+, Node 8 - 4.5.3+, Node <8 - <5.0
over 4 years ago · Santiago Trujillo Denunciar

0

También tengo el mismo problema después de actualizar mi versión de npm. Parece un error de npm 7.19.1, y sugeriría cambiar a una versión anterior.

Puede consultar a continuación todas las versiones de npm

https://www.npmjs.com/package/npm?activeTab=versiones

Instale la versión deseada con este comando en la consola y sustituya "V" con su versión deseada:

 npm install -g npm@"V"
over 4 years ago · Santiago Trujillo Denunciar

0

Hay varias formas de lidiar con esto:

  1. Ignoralo. Es solo una advertencia y no afecta la instalación de módulos.

  2. Ejecute npm ci para asegurarse de que su node_modules refleje el archivo de bloqueo, luego elimine package-lock.json y luego ejecute npm install (con la versión más nueva de npm ) para regenerar un package-lock.json . Debido a que todo en node_modules cumplirá con todos los requisitos, el único cambio de npm install será un archivo package-lock.json recién generado. Confirme la versión actualizada de package-lock.json en la imagen repo/Docker o lo que sea.

  3. npm a una versión anterior en producción. Considere ejecutar la versión 6 de npm , ya que es lo que se incluye con la versión actual (al momento de escribir este artículo) de soporte a largo plazo (LTS) de Node.js. En el caso que se le pregunta en esta pregunta, imagino que puede omitir RUN npm -g install npm@7.19.1 del Dockerfile y, en su lugar, usar la versión de npm que está instalada con la imagen de Docker (que en este caso seguramente será npm@6 ya que eso es lo que viene con Node.js 14.x).

  4. Si ya tiene una versión de npm instalada pero desea ejecutar un comando con una versión anterior de npm pero, por lo demás, conserva la versión más nueva, puede usar npx (que se envía con npm ) para hacerlo. Por ejemplo, npx npm@6 ci ejecutaría npm ci con la versión 6 de npm incluso si tiene instalada la versión 7.

over 4 years ago · Santiago Trujillo Denunciar

0

Tuve un problema similar, pero la actualización de npm npm i -g npm en mi máquina antes de crear la imagen me lo resolvió. Es posible que aún reciba el mensaje de advertencia, pero el proceso de creación de la imagen no se detendrá.

over 4 years ago · Santiago Trujillo Denunciar

0

TL;DR

Como sugirió Trott , está totalmente bien ignorar la advertencia. Para solucionar la advertencia o el problema, siga leyendo.

El problema/advertencia es con la línea:

 RUN npm -g install npm@7.19.1

Eliminar esta línea debería solucionar el problema o la advertencia.

Explicación

Idealmente , el bloqueo de paquete generado que forma parte de su repositorio de origen se genera con la versión npm < npm@7 que se envía con Node.js <= node@14.xx . Mi suposición proviene de su primera línea de Dockerfile .

 FROM node:14.17.1-alpine3.13 AS builder

Por ejemplo, Node.js LTS v14.17.1 se envía con npm@6.14.13 . Vea la lista completa de lanzamientos aquí .

npm@5 , npm@6 generan package-lock@v1 , que ahora es una versión heredada según esteenlace . Y npm@7 , que es la última versión, genera package-lock@v2 . Cuando lo haga: npm -g install npm@7.19.1 . Anula su package-lock@v1 existente con package-lock@v2 dando la advertencia en el proceso.

npm WARN old lockfile El archivo package-lock.json se creó con una versión anterior de npm`

El Dockerfile actualizado debería verse así:

 FROM node:14.17.1-alpine3.13 AS builder WORKDIR /usr/src/app COPY package.json package-lock.json* ./ COPY ui-runner/package*.json ./ui-runner/ COPY .npmrc .npmrc COPY ui-runner/.npmrc ./ui-runner/.npmrc RUN npm ci --production --package-lock && \ npm ci --production --package-lock --prefix ./ui-runner RUN rm -f .npmrc && \ rm -f ui-runner/.npmrc FROM node:14.17.1-alpine3.13 WORKDIR /usr/src/app RUN apk update && apk add --no-cache curl bash RUN addgroup -g 1001 test && \ adduser -S -u 1001 -G test test RUN chown -R test /usr/src/app && \ chmod 755 /usr/src/app COPY --from=builder /usr/src/app /usr/src/app COPY . . RUN npm run build:docker USER test EXPOSE 3000 9183 CMD [ "npm", "run", "start:ui-runner" ]
over 4 years ago · Santiago Trujillo Denunciar

0

Una solución fácil para esto es usar NVM para administrar las versiones de su nodo. Especialmente en Linux, esto ahorra muchos problemas con los permisos de archivo, el desarrollo en diferentes entornos, etc. NPM recomienda esto en su documentación aquí .

Este error para mí se resolvió cambiando las versiones de Node.js con nvm,

 nvm install 14 nvm use 14

Siempre es fácil probar y cambiar a una versión de Node.js un poco más antigua o más nueva si se encuentra con problemas extraños de Node.js o npm.

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