On the nightly, @react-native-community/cli 20 finds no platforms or commands, with no warning that it needs CLI 21

Đang mở Phù hợp với người mới
#59,694 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 2 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
1/5
Thời gian dự kiến
Dưới một giờ
Mức phù hợp với người mới
88/100
Loại issue
Lỗi
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
javascript, node.js, react-native
Lĩnh vực
developer-experience

Hướng nghiên cứu

Bắt đầu tại packages/community-cli-plugin/package.json, cụ thể là mục peerDependencies cho @react-native-community/cli, mà issue liên kết ở dòng 46-49. Thay đổi khoảng đó để nó chỉ định CLI 21 trở lên, các phiên bản có thể đọc cấu hình đã được chuyển trong #58670 và #58671. Kiểm tra kết quả với reproducer được liên kết: với CLI 20.2.0 được cài đặt, yarn install giờ đây sẽ cảnh báo, trong khi CLI 21.0.0-alpha.1 vẫn phải thỏa mãn khoảng peer. Hoàn tất nghĩa là khoảng peer phản ánh các phiên bản CLI tương thích mà không thay đổi mã runtime của plugin.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

Description

On 0.89.0-nightly-20261030-4afc5d5b9, an app that still has @react-native-community/cli 20.2.0, the version the reproducer template and every 0.88 app ship, gets no platforms and no commands from the CLI, and nothing says why: yarn android fails with error: unknown command 'run-android', npx react-native config prints "platforms": {} and "project": {}, and Gradle's :app:generateAutolinkingPackageList fails with Could not find project.android.packageName in react-native config output!. With @react-native-community/cli 21.0.0-alpha.1, the same app's config has the Android and iOS platforms and packageName: com.reproducerapp.

The platform config moved out of react-native in b26baaeba026f34963656a8daec7f5f494253160 (#58670) and be9fbdd0d59ffd88992f16523b5fbfe9db709e6a (#58671), so CLI 20 no longer finds it. @react-native/community-cli-plugin still declares "@react-native-community/cli": "*" as its peer (package.json), so the install accepts CLI 20 without a warning. I'd expect the peer range to name the CLI versions that can read the new config, so the install points at the fix.

Steps to reproduce
  1. Clone https://github.com/YevheniiKotyrlo/rn-nightly-cli-20-no-platforms. It is the reproducer template with react-native and every @react-native/* package moved to 0.89.0-nightly-20261030-4afc5d5b9, and @react-native-community/cli left at 20.2.0.
  2. In ReproducerApp, run yarn install. It finishes with no warning about @react-native-community/cli.
  3. Run yarn android. Expected: the app builds. Actual: error: unknown command 'run-android'.
  4. Run npx react-native config. Expected: the Android and iOS platforms and the Android project. Actual: "commands": [], "platforms": {} and "project": {}, exit 0.
  5. In ReproducerApp/android, run ./gradlew :app:generateAutolinkingPackageList. Expected: the package list. Actual: the failure below.

With npx @react-native-community/[email protected] config in step 4, the config lists both platforms and "packageName": "com.reproducerapp".

React Native Version

0.89.0-nightly-20261030-4afc5d5b9

Affected Platforms

Build - Windows

Output of npx @react-native-community/cli info
System:
  OS: Windows 11 10.0.26300
  CPU: "(32) x64 AMD Ryzen 9 9950X3D 16-Core Processor          "
  Memory: 142.01 GB / 255.67 GB
Binaries:
  Node:
    version: 26.12.1
    path: C:\Program Files\nodejs\node.EXE
  Yarn:
    version: 1.22.22
    path: C:\Users\yevhe.YEVHENII\AppData\Roaming\npm\yarn.CMD
  npm:
    version: 12.2.1
    path: C:\Program Files\nodejs\npm.CMD
  Watchman: Not Found
SDKs:
  Android SDK:
    API Levels:
      - "33"
      - "35"
      - "35"
      - "35"
      - "36"
      - "37"
      - "37"
    Build Tools:
      - 35.0.0
      - 36.0.0
      - 36.1.0
      - 37.0.0
    System Images:
      - android-26 | Google APIs Intel x86_64 Atom
      - android-28 | Google APIs Intel x86_64 Atom
      - android-29 | Google APIs Intel x86_64 Atom
      - android-30 | Google APIs Intel x86_64 Atom
      - android-31 | Google APIs Intel x86_64 Atom
      - android-32 | Google APIs Intel x86_64 Atom
      - android-33 | Google APIs Intel x86_64 Atom
      - android-34 | Google APIs Intel x86_64 Atom
      - android-35 | Google APIs Intel x86_64 Atom
      - android-36.1 | Google Play Intel x86_64 Atom
      - android-36.1 | Pre-Release 16 KB Page Size Google Play Intel x86_64 Atom
      - android-37.0 | Google APIs Intel x86_64 Atom
    Android NDK: Not Found
  Windows SDK: Not Found
IDEs:
  Android Studio: AI-262.9437.185.2621.16467767
  Visual Studio: Not Found
Languages:
  Java:
    version: 17.0.20.1
    path: C:\Program Files\Microsoft\jdk-17.0.20.101-hotspot\bin\javac.EXE
  Ruby: Not Found
npmPackages:
  "@react-native-community/cli":
    installed: 20.2.0
    wanted: 20.2.0
  react:
    installed: 19.3.0
    wanted: 19.3.0
  react-native:
    installed: 0.89.0-nightly-20261030-4afc5d5b9
    wanted: 0.89.0-nightly-20261030-4afc5d5b9
  react-native-windows: Not Found
npmGlobalPackages:
  "*react-native*": Not Found
Android:
  hermesEnabled: Not found
  newArchEnabled: Not found
iOS:
  hermesEnabled: Not found
  newArchEnabled: Not found
Stacktrace or Logs
> npx react-native config
{
  "root": "D:\\work\\contributions\\rn-nightly-cli-20-no-platforms\\ReproducerApp",
  "reactNativePath": "D:\\work\\contributions\\rn-nightly-cli-20-no-platforms\\ReproducerApp\\node_modules\\react-native",
  "reactNativeVersion": "0.89",
  "dependencies": {},
  "commands": [],
  "healthChecks": [],
  "platforms": {},
  "assets": [],
  "project": {}
}

> ./gradlew :app:generateAutolinkingPackageList
> Task :app:generateAutolinkingPackageList FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:generateAutolinkingPackageList'.
> RNGP - Autolinking: Could not find project.android.packageName in react-native config output! Could not autolink packages without this field.
MANDATORY Reproducer

https://github.com/YevheniiKotyrlo/rn-nightly-cli-20-no-platforms

Screenshots and Videos

No response

Ngôn ngữ chính
C++
Star
127k
Fork
25.4k
Merge trung bình
2 ngày 9 giờ
Pull request đã merge (30 ngày)
91

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của react/react-native

Tất cả issue của react/react-native

Issue tương tự

Thêm issue về C++

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.