Skip to content

docs: specify exact React Native version to avoid peer dependency conflicts#2793

Closed
markshenouda wants to merge 1 commit intomicrosoft:mainfrom
markshenouda:docs/fix-react-native-version-conflict
Closed

docs: specify exact React Native version to avoid peer dependency conflicts#2793
markshenouda wants to merge 1 commit intomicrosoft:mainfrom
markshenouda:docs/fix-react-native-version-conflict

Conversation

@markshenouda
Copy link
Copy Markdown

Summary:

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.

…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.
@markshenouda markshenouda requested a review from a team as a code owner January 7, 2026 10:50
@Saadnajmi
Copy link
Copy Markdown
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

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>
@Saadnajmi
Copy link
Copy Markdown
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!

@Saadnajmi Saadnajmi closed this Mar 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants