MENU

npx react-native init でプロジェクトが作成できない場合の対処方法

目次

エラー内容

ReactNativeのプロジェクトを作成する際、今はExpoが主流ですが現場などではNativeをカスタマイズしやすいCLIが使われているところもあります。

通常は

で新規プロジェクトを作成できていたのですが久しぶりに実行してみたら下記エラーがでるようになりました。

依存関係で問題が発生しているようでした。

結論

先に結論からお伝えすると

を使ってプロジェクトを作成しよう

エラー原因

具体的に言うと、react-native とその依存関係(特に react)のバージョン間で矛盾が発生していることが原因です。

エラーメッセージから以下のことがわかります:

  1. react-native@0.79.1react-native@0.76.5 のバージョンの不一致
    • プロジェクトのルートで react-native@0.79.1 を使おうとしているのに、@react-native/virtualized-listsreact-native@0.76.5 を要求しているため、バージョンの不一致が発生しています。
  2. react@19.1.0 の依存関係の矛盾
    • react-native@0.79.1react@"^19.0.0" を要求しており、そのバージョンと他の依存関係で使用されているバージョンが一致しないため、依存関係が解決できていません。

解決策

1~4はプロジェクト作成済みの場合、5~はinit時エラーの場合

1. --legacy-peer-deps オプションでインストールする

このエラーは、npmが依存関係の整合性を厳格にチェックしすぎていることが原因です。--legacy-peer-deps オプションを付けることで、npmが厳格な依存関係チェックをスキップし、インストールを強制することができます。

2. --force オプションを使う

もし依存関係の矛盾が問題でない場合、--force オプションを使って強制的にインストールすることもできます。ただし、これにはリスクがあり、アプリが正常に動作しない場合もありますので注意が必要です。

3. 依存関係のバージョンを調整

もし react-native@0.79.1react-native@0.76.5 のバージョンの不一致が問題であれば、次のようにバージョンを合わせる方法もあります:

  • package.json を確認して、react-native@react-native/virtualized-lists のバージョンを一致させる
  • react のバージョンも ^19.0.0 に合わせるか、または現在のプロジェクトに適したバージョンを選ぶ。

例えば、react-native@0.79.1 を使いたい場合は、次のようにします:

その後、依存関係を再インストールします。

4. node_modulespackage-lock.json を削除して再インストール

もし依存関係の解決に問題がある場合、node_modules フォルダと package-lock.json を削除してから再インストールを試みる方法もあります。

これで、依存関係が一から再インストールされます。

5.react-native initの代替

参考:npx react-native init AwesomeProject fails #34968
v 068.2 と 0.69 を維持することは不可能ですか? #34051

5-1.C:\Users\<UserName>\AppData\Local\npm-cacheを削除

npm-cacheが何かはこちら

キャッシュを削除したあとに別の問題に遭遇しました。こちらの解決方法は別途記事にしたいと思います。

5-1-1.npx @react-native-community/cli init AwesomeProjectを利用

Switch to npx @react-native-community/cli init for the identical behavior.から
npx @react-native-community/cli initを使えということがわかります。

5-1-2.その他
  1. いくつかのnpmパッケージが「非推奨(deprecated)」になっている警告
    • inflight@1.0.6:メモリリークするので使わない方がいい、と警告。
    • rimraf@3.0.2:v4未満はサポート終了。
    • glob@7.2.3:これもv9未満はサポート終了。
  2. 🚨 init コマンドが非推奨
    • これまでの init コマンド( npx react-native init)は廃止予定になった。
    • 代わりに npx @react-native-community/cli init を使え、と公式から指示されている。
    • 詳しくは公式ドキュメント(React Native Getting Started
  3. npm自体のアップデート案内
    • npmの新しいメジャーバージョン(v11.3.0)が出てるよ!
    • 現在使っているnpmは 10.8.2
    • アップデートするなら bashコピーする編集するnpm install -g npm@11.3.0 を実行してね、という案内。
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次