以下に示すような 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 番を好むようです。)
無視してください。これは単なる警告であり、モジュールのインストールには影響しません。
npm install --package-lock-only
( の新しいバージョンを使用して)npm
を実行して を再生成しますpackage-lock.json
。 の更新されたバージョンをpackage-lock.json
リポジトリ/Docker イメージなどにコミットします。npm
運用環境では、古いバージョンにダウングレードします。npm
現在の (この記事の執筆時点で) Node.js の長期サポート (LTS) バージョンに同梱されているバージョン 6 を実行することを検討してください。この質問で尋ねられているケースでは、Dockerfile から を省略し、代わりに Docker イメージでインストールされている のバージョンを使用できると思います(この場合は、Node.js 14.x に同梱されているので、ほぼ確実に になります)。RUN npm -g install [email protected]
npm
npm@6
のバージョンがすでに
npm
インストールされているが、 の古いバージョンで 1 つのコマンドを実行しnpm
、それ以外は新しいバージョンを保持したい場合は、npx
( に同梱npm
) を使用できます。たとえば、 は、バージョン 7 がインストールされていても、バージョン 6でnpx npm@6 ci
実行されます。npm ci
npm