Skip to content

React Native 0.75 アップグレード時の com.facebook.react.settings プラグインエラー解決

問題概要

React Native をバージョン 0.75 へアップグレードする際、Android ビルド時に以下のエラーが発生します:

gradle
Plugin [id: 'com.facebook.react.settings'] was not found in any of the following sources:

主なエラー原因:

  • @react-native/gradle-plugin の依存関係競合
  • 無効な Gradle キャッシュ
  • 環境変数(JAVA_HOME) の不整合
  • プラグインバージョンの不一致

効果的な解決策

方法 1: 依存関係のクリーンインストール (最も確実)

  1. node_modules ディレクトリを完全削除
  2. ロックファイルを削除 (yarn.lock または package-lock.json)
  3. React Native と Gradle プラグインのバージョンを整合させる:
json
{
  "dependencies": {
    "react-native": "^0.75.1",
    "@react-native/gradle-plugin": "0.75.1"
  }
}
  1. クリーンインストール実行:
bash
yarn install  # or npm install

方法 2: Gradle キャッシュのクリア

bash
cd android
rm -rf .gradle    # キャッシュディレクトリ削除
./gradlew clean   # プロジェクトクリーニング

Windows ユーザー向け

powershell
.\android\gradlew.bat build --refresh-dependencies

方法 3: プラグインバージョンの明示的インストール

bash
# Yarn
yarn add @react-native/gradle-plugin@0.75.1 --exact

# npm
npm install @react-native/gradle-plugin@0.75.1 --save-exact

方法 4: 環境変数の確認 (Windows 固有)

  1. JAVA_HOME を設定:
    env
    JAVA_HOME=C:\Program Files\Android\Android Studio\jbr
  2. IDE (VS Code/Android Studio) を再起動

方法 5: settings.gradle の修正例

gradle
pluginManagement {
    repositories {
        google()
        mavenCentral()
        gradlePluginPortal()
    }
}
plugins { id("com.facebook.react.settings") }

根本原因分析フローチャート

補足アドバイス

  • react-native doctor の活用:

    bash
    npx react-native doctor

    公式診断ツールで環境問題を自動検出

  • バージョン整合性チェックリスト:

    • react-native@react-native/gradle-plugin のバージョン一致
    • react-native-windows がある場合、メインライブラリと同バージョン
    • JDK v18 以上使用
  • VS Code ユーザー注意: Java関連拡張機能が競合する場合は無効化

注意点

settings.gradle からプラグイン行を完全に削除すると、後続で別のエラーが発生します。必ず依存関係を解決することが必要です。

予防策

  • アップグレード前に yarn.lock/package-lock.json の整合性確認
  • 主要モジュールのバージョンピニング(^ ではなく厳密なバージョン指定)
  • React Native アップグレードヘルパーの使用後、変更箇所を再検証

これらの手順でほぼ全てのケースが解決されます。特に依存関係のクリーンインストールと Gradle キャッシュの削除が最も効果的です。