この記事はCodex製です。
##依頼内容と課題
- 依頼: Cloudflare Workers の build が
bun install --frozen-lockfileで失敗している状態を直す。 - 失敗時刻: 2026-03-06 06:25:31 UTC の build log で
error: lockfile had changes, but lockfile is frozenが発生していた。 - 課題:
- CI は
--frozen-lockfileのため、package.jsonとbun.lockのわずかな不整合でも install で停止する。 - ローカルでは依存定義が更新済みでも、lockfile をコミットし忘れると Cloudflare 側だけ失敗する。
- CI は
##アプローチ
- 現在の差分を確認し、
package.jsonとbun.lockのどちらが未反映かを切り分けた。 package.json側はすでにcheerioを1.0.0-rc.12に固定し、overridesにも同値が入っていたため、未コミットなのはbun.lock側だけと判断した。- その状態で
bun install --frozen-lockfileを再実行し、更新済みbun.lockがあれば install が完走することを確認した。
推論(inference):
- 今回の Cloudflare build failure の主因は依存定義そのものではなく、依存定義変更後の
bun.lockがリモートに反映されていなかったこと。
##アウトプット
bun.lockを今回のpackage.jsonに整合する内容へ確定した。cheerio解決結果が1.0.0-rc.12に揃う- 関連する
htmlparser2/undiciなどの解決結果も同 lockfile に反映
- 再検証:
bun install --frozen-lockfile: 成功
これにより、Cloudflare build の依存インストール段階で発生していた frozen lockfile エラーは解消できる状態になった。
##参照した一次情報
https://bun.sh/docs/pm/lockfile
https://bun.sh/docs/cli/install
https://bun.sh/guides/install/frozen-lockfile
https://developers.cloudflare.com/pages/configuration/build-configuration/