docs: specify exact React Native version to avoid peer dependency conflicts#2793
Closed
markshenouda wants to merge 1 commit intomicrosoft:mainfrom
Closed
docs: specify exact React Native version to avoid peer dependency conflicts#2793markshenouda wants to merge 1 commit intomicrosoft:mainfrom
markshenouda wants to merge 1 commit intomicrosoft:mainfrom
Conversation
…flicts Using `--version 0.79` installs the latest 0.79.x patch (e.g., 0.79.7), which causes npm peer dependency conflicts because react-native-macos@0.79.1 requires react-native@0.79.6 exactly. Updated the documentation to use the exact version (0.79.6) that matches the react-native-macos peer dependency requirement.
Collaborator
|
Sorry for the delay! We were working very hard on getting 0.81 out the door and I hadn't looked at other PRs. We would have to list every RNM version and their peer. I think I'll need to come up with a new init flow that doesn't have you install RN first. I'll have to think about it |
This was referenced Mar 20, 2026
Saadnajmi
added a commit
that referenced
this pull request
Mar 20, 2026
## Summary - Remove redundant dependency install (`generate-macos.js` was running `npm i`/`yarn` a second time after `cli.ts` already installed `react-native-macos`) - Show actual npm/yarn errors on install failure instead of swallowing them with `--silent` - Validate peer dependencies before install and warn on version mismatch - Fix finish message: remove nonexistent `yarn start:macos`, show correct `pod install`, `npx react-native run-macos` and `npx react-native start` - Replace `chalk` with Node's built-in `node:util` `styleText` (available since Node 20.12), add `engines.node` field - Re-enable integration test CI without Verdaccio (fixes #2344) — installs local package directly via `npm install <path>` ## Motivation Users hitting `npx react-native-macos-init` frequently encounter silent failures from peer dependency mismatches (e.g. `react-native-macos@0.81.4` requires `react-native@0.81.6` exactly, but `--version 0.81` installs the latest patch). The `--silent` flag hid the actual error. The finish message referenced a nonexistent `yarn start:macos` script. Addresses the same root issue as #2785 and #2793 but with a broader fix. ## Test plan - [x] Created a new project with `npx @react-native-community/cli init testapp --version 0.81.6` - [x] Ran modified init — happy path: no peer dep warning, correct finish message - [x] Tested mismatch path (`react-native@0.81.5` vs required `0.81.6`) — warning fires before install with clear message - [x] TypeScript compiles cleanly - [x] Re-enabled CI integration test (no longer depends on Verdaccio) 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Saadnajmi
added a commit
that referenced
this pull request
Mar 20, 2026
…2859) ## Summary - Remove redundant dependency install (`generate-macos.js` was running `npm i`/`yarn` a second time after `cli.ts` already installed `react-native-macos`) - Show actual npm/yarn errors on install failure instead of swallowing them with `--silent` - Validate peer dependencies before install and warn on version mismatch - Fix finish message: remove nonexistent `yarn start:macos`, show correct `pod install`, `npx react-native run-macos` and `npx react-native start` - Replace `chalk` with Node's built-in `node:util` `styleText` (available since Node 20.12), add `engines.node` field - Re-enable integration test CI without Verdaccio (fixes #2344) — installs local package directly via `npm install <path>` ## Motivation Users hitting `npx react-native-macos-init` frequently encounter silent failures from peer dependency mismatches (e.g. `react-native-macos@0.81.4` requires `react-native@0.81.6` exactly, but `--version 0.81` installs the latest patch). The `--silent` flag hid the actual error. The finish message referenced a nonexistent `yarn start:macos` script. Addresses the same root issue as #2785 and #2793 but with a broader fix. Backport of #2858. ## Test plan - [x] Created a new project with `npx @react-native-community/cli init testapp --version 0.81.6` - [x] Ran modified init — happy path: no peer dep warning, correct finish message - [x] Tested mismatch path (`react-native@0.81.5` vs required `0.81.6`) — warning fires before install with clear message - [x] TypeScript compiles cleanly - [x] Re-enabled CI integration test (no longer depends on Verdaccio) 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Collaborator
|
Hey, I think #2858 should handle this case so it doesn't have to be exact, so I'll close this PR. If it doesn't work and I am mistaken, please comment and re-open! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary:
Using
--version 0.79installs the latest 0.79.x patch (e.g., 0.79.7), which causes npm peer dependency conflicts becausereact-native-macos@0.79.1requiresreact-native@0.79.6exactly.Updated the documentation to use the exact version (0.79.6) that matches the
react-native-macospeer dependency requirement.