package.json と package-lock.json が合っていない
npm ERR! `npm ci` can only install packages when your package.json and package-lock.json are in sync.
ひとことで言うと
「部品の一覧(package.json)と、そのくわしい記録(package-lock.json)の中身が食い違っています」という意味です。公開のときによく出ます。
よくある原因
- package.json だけ手で書きかえて、
npm installをしていない - package-lock.json を GitHub に送っていない
- npm と pnpm・yarn を混ぜて使った
自分で確かめること
- package-lock.json が GitHub に送られているか見る
- 使っている道具(npm・pnpm・yarn)が1つだけか確かめる
たいていは、こうすると直ります
自分のパソコンで npm install を実行し、新しくなった package-lock.json も一緒に GitHub に送ります。
AIへの伝え方
下の文をコピーして、ChatGPT・Claude・Cursor などに貼り付けてください。トップで貼り付けたエラー文があれば、自動でそれに入れかわります。
次のエラーが出て困っています。プログラミング初心者にもわかるように、原因と直し方を教えてください。必要なら、直したコードも全部見せてください。 【エラー】 npm ERR! `npm ci` can only install packages when your package.json and package-lock.json are in sync. 【やったこと】 (ここに、エラーが出る前にしたことを書く。例:npm run dev を実行した) 【参考】 このエラーは「package.json と package-lock.json が合っていない」というもので、よくある原因は次のとおりです。 ・package.json だけ手で書きかえて、`npm install` をしていない ・package-lock.json を GitHub に送っていない ・npm と pnpm・yarn を混ぜて使った どれに当てはまるかを確かめる方法も教えてください。