react / react/react-native

Regression from PR #47458: Cannot install React Native from Git anymore

Ouverte
#50,460 10 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Impact: Regression Needs: Attention Needs: Repro Needs: Version Info
Langage dominant
C++
Étoiles
127k
Forks
25.3k
Merge moyen
1 j 23 h
PR mergées (30 j)
4

Description

Description

This PR updates shouldSkipGenerationForRncore as such it checks if .../ReactCommon exists before deciding to skip rncore generation, whereas previously it would check .../ReactCommon/react/renderer/components/rncore specifically.

This change breaks installations from Git.

I noticed this while upgrading from 0.76.2 to 0.78.1.

Per my debugging:

  • Previous behavior:
    • When installing from NPM: rncore is pre-generated using the prepack script
    • When installing from Git: rncore gets generated when running pod install
  • Current behavior:
    • When installing from NPM: rncore is pre-generated using the prepack script
    • When installing from Git: rncore will NOT get generated when running pod install because .../ReactCommon is detected as exists even though .../ReactCommon/react/renderer/components/rncore does not
Steps to reproduce
npx @react-native-community/cli@latest init BuggyReactNative
cd ./BuggyReactNative/
npm install 'https://gitpkg.vercel.app/facebook/react-native/packages/react-native?0.78-stable'
cd ./ios/
bundle exec pod install
cd ..
ls ./node_modules/react-native/ReactCommon/react/renderer/components/rncore
# 💥 no such file or directory
# 💥 Xcode won't build the project
React Native Version

0.78.1

Affected Platforms

Runtime - iOS, Other (please specify)

Output of npx @react-native-community/cli info
Not relevant
Stacktrace or Logs
Not relevant
Reproducer

Run the reproducer bash script so you can test with your toolchain not mine

Screenshots and Videos

No response

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez dans packages/react-native/scripts/codegen/generate-artifacts-executor.js, au niveau de shouldSkipGenerationForRncore, et comparez le comportement antérieur référencé avec la vérification actuelle de ReactCommon. Utilisez le reproducer de l’installation via Git de l’issue et bundle exec pod install pour vérifier le chemin de génération. C’est terminé lorsque le répertoire rncore existe après l’installation et que le projet iOS peut être compilé.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
javascript, react-native
Domaine
build-system, mobile
Type d'issue
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
Calme
Clarté
Clairement spécifiée
Accessibilité débutants
65/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.