🏧
パッケージマネージャの混在によりnpm ciが出来ずビルド失敗
自分用メモ
`npm ci` can only install packages when your package.json and package-lock.json or npm-shrinkwrap.json are in sync. Please update your lock file with `npm install` before continuing.
エラーの発生原因
- pnpmとnpmが混在
- 思考停止Dockerfileのコピペ
Dockerfileの一部
途中でnpm ciして失敗している
COPY package.json yarn.lock* package-lock.json* pnpm-lock.yaml* ./
RUN \
if [ -f yarn.lock ]; then yarn --frozen-lockfile; \
elif [ -f package-lock.json ]; then npm ci; \
elif [ -f pnpm-lock.yaml ]; then corepack enable pnpm && pnpm i --frozen-lockfile; \
else echo "Lockfile not found." && exit 1; \
fi
npm ciでビルド時と同じ失敗を確認後
npm ci //失敗
rm package-lock.json &&
npm install &&
npm ci //成功
もしこれで成功したらあとはパッケージマネージャを一つにするか
dockerfileを編集しよう。
Discussion