npm WARN 古いロックファイル package-lock.json ファイルは古いバージョンの npm で作成されました 質問する

npm WARN 古いロックファイル package-lock.json ファイルは古いバージョンの npm で作成されました 質問する

以下に示すような dockerfile があり、それを実行すると、手順がわからない警告が表示されますRUN npm ci

npm WARN 古いロックファイル package-lock.json ファイルは古いバージョンの npm で作成されました

npm install代わりに を試してフラグnpm ciを追加しました--package-lockが、それでもこの警告が表示されます。この警告を解決する方法はありますか? それとも無視するべきでしょうか?

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

これが私の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 [email protected]
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" ]

ベストアンサー1

これに対処する方法はいくつかあります。(人々は本当に 4 番を好むようです。)

  1. 無視してください。これは単なる警告であり、モジュールのインストールには影響しません。

  2. npm install --package-lock-only( の新しいバージョンを使用して)npmを実行して を再生成しますpackage-lock.json。 の更新されたバージョンをpackage-lock.jsonリポジトリ/Docker イメージなどにコミットします。

  3. npm運用環境では、古いバージョンにダウングレードします。npm現在の (この記事の執筆時点で) Node.js の長期サポート (LTS) バージョンに同梱されているバージョン 6 を実行することを検討してください。この質問で尋ねられているケースでは、Dockerfile から を省略し、代わりに Docker イメージでインストールされている のバージョンを使用できると思います(この場合は、Node.js 14.x に同梱されているので、ほぼ確実に になります)。RUN npm -g install [email protected]npmnpm@6

  4. のバージョンがすでにnpmインストールされているが、 の古いバージョンで 1 つのコマンドを実行しnpm、それ以外は新しいバージョンを保持したい場合は、npx( に同梱npm) を使用できます。たとえば、 は、バージョン 7 がインストールされていても、バージョン 6でnpx npm@6 ci実行されます。npm cinpm

おすすめ記事