📘

Next.jsでnpmパッケージのアップデートが反映されない

2024/01/26に公開

はじめに

npmパッケージをアップデートしたにも関わらず、変更が反映されない問題に直面しました。
またVercelでデプロイしたサイトにも影響を及ぼしましたので解決策を共有します。

問題

https://vercel.com/docs/deployments/troubleshoot-a-build#what-is-cached

What is cached
Vercel caches files based on the Framework Preset selected in your Project settings. The following files are cached in addition to node_modules/**, yarn.lock, and package-lock.json.

↑によるとVercel

  • node_modules/**
  • yarn.lock
  • package-lock.json
  • .next/cache/** (Next.js)

をキャッシュするようです!

解決方法

ローカルでの解決策としては、単純にnode_modulesフォルダと.nextフォルダを削除し、その後npm installnpm run devを実行することで、変更が反映されました。

Vercelの環境では、以下の手順によってビルドキャッシュを無効にすることができます。

  1. 管理画面での設定

Vercel > settings > Environment Variables

key value
VERCEL_FORCE_NO_BUILD_CACHE 1
  1. envファイルでの設定
env
VERCEL_FORCE_NO_BUILD_CACHE=1

これにより、Vercelはキャッシュされた古いデータを使用しなくなります。

おわりに

他にも解決策はあるようなので、詳しくはVercelの公式ドキュメントをご覧ください。

参考

Discussion