1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

GitHub Actions のnpm ciでハマった話

1
Posted at

はじめに

ReactアプリをGitHub ActionsでCI/CDする中でnpm ciまわりでビルドが失敗しました。
ローカルでは動くのにCIで落ちる状態でした。

lockファイルが同期していない

npm error `npm ci` can only install packages when your package.json and package-lock.json are in sync.

npm cipackage-lock.jsonに厳密に従ってインストールするため、少しでも食い違うと落ちる(npm install は食い違いを吸収してくれる)。

今回はローカル(Node25)とCI(Node 22)の環境差でpackage-lock.jsonファイルが噛み合わなかった。

npm cinpm install に変更すると解決。

- run: npm install

CI でだけ react が見つからない

[vite]: Rolldown failed to resolve import "react" from "src/main.jsx".

reactreact-dompackage.jsondependenciesに入っていなかった。
ローカルではnode_modulesにreactがあるので動いていたが、CIはまっさらな状態から package.json を頼りにインストールするので落ちた。

npm install react react-dom

reactとreact-domを追加するとうまくいった。
package.jsonのdependenciesにしてもよい。

まとめ

  • npm cipackage-lock.jsonファイルに厳密
  • 依存は package.json に正しく書かれていないとCIで落ちる
  • 「ローカルでは動く」問題を暴いてくれるのがCIの役割

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?