💭

v0に作らせたプロジェクトをダウンロードしたときに必要な調整

に公開

概要

v0で作ったwebアプリをローカルに落としてきて、さあ動かそうとするとnpm install時点でエラーが出ます。
これはv0の利用するパッケージが比較的新しいバージョン(例: React 19, Next.js 14)を指定しており、ローカル環境のNode/npmのバージョンと合わずに依存関係解決エラーが発生するためです。

nodeをv22.14.0と比較的新しいものを使っていても発生するので避けられないのかも。対応した内容をメモします。

date-fnsのバージョン

npm error code ERESOLVE
npm error ERESOLVE unable to resolve dependency tree
npm error
npm error While resolving: my-v0-project@0.1.0
npm error Found: date-fns@4.1.0
npm error node_modules/date-fns
npm error   date-fns@"4.1.0" from the root project
npm error
npm error Could not resolve dependency:
npm error peer date-fns@"^2.28.0 || ^3.0.0" from react-day-picker@8.10.1
npm error node_modules/react-day-picker
npm error   react-day-picker@"8.10.1" from the root project
npm error
npm error Fix the upstream dependency conflict, or retry
npm error this command with --force or --legacy-peer-deps
npm error to accept an incorrect (and potentially broken) dependency resolution.

date-fns@4.1.0 に対して、react-day-picker@8.10.1date-fns@^2.28.0 || ^3.0.0 を要求していることが原因。
package.jsonを開いて

"date-fns": "4.1.0",

"date-fns": "2.30.0",

に書き換えました。

Reactのバージョン

npm error code ERESOLVE
npm error ERESOLVE unable to resolve dependency tree
npm error
npm error While resolving: my-v0-project@0.1.0
npm error Found: react@19.1.0
npm error node_modules/react
npm error   react@"^19" from the root project
npm error
npm error Could not resolve dependency:
npm error peer react@"^16.8.0 || ^17.0.0 || ^18.0.0" from react-day-picker@8.10.1
npm error node_modules/react-day-picker
npm error   react-day-picker@"8.10.1" from the root project
npm error
npm error Fix the upstream dependency conflict, or retry
npm error this command with --force or --legacy-peer-deps
npm error to accept an incorrect (and potentially broken) dependency resolution.

こっちはReact 19 を使っているのに対して、react-day-picker@8.10.1 が React 16〜18 にしか対応していないことが原因

React 18に戻します。

npm install react@18 react-dom@18

まとめ

以上で完了です。
npm install で依存関係のインストールに成功するので、npm run devで表示の確認ができるようになりました。

Discussion