Command line tools that ship with react-native
in form of the @react-native-community/cli
package.
It exposes
react-native
binary, so you can callyarn react-native
ornpx react-native
directly from your project.
Note: CLI has been extracted from core react-native
as a part of "Lean Core" effort. Please read this blog post for more details.
- Compatibility
- Documentation
- About
- Creating a new React Native project
- Usage in an existing React Native project
- Updating the CLI
- Contributing
- Maintainers
- License
Our release cycle is independent of react-native
. We follow semver and here is the compatibility table:
@react-native-community/cli |
react-native |
---|---|
^3.0.0 | ^0.61.0 |
^2.0.0 | ^0.60.0 |
^1.0.0 | ^0.59.0 |
This repository contains tools and helpers for React Native projects in form of a command line tool. There's been quite some confusion around that since the extraction from React Native core. Let's clear them up:
- There are currently two CLIs:
@react-native-community/cli
– the one used directly byreact-native
. That makes it a transitive dependency of your project.react-native-cli
– an optional global convenience package, which is a proxy to@react-native-community/cli
and global installation helper. Please consider it legacy, because it's not necessary anymore.
- When we say "the CLI" we mean
@react-native-community/cli
. - We update the CLI independently of React Native itself. Please see how to use the latest version.
- This is a monorepo to keep stuff organized.
We're actively working to make any indirections gone.
There are two ways to start a React Native project.
Available since
[email protected]
This method is preferred if you don't want to install global packages.
npx react-native init MyApp
You'll need to install a global module react-native-cli
and follow instructions there.
We strongly encourage you to only use global
react-native-cli
for bootstrapping new projects. Use local version for everything else.
You can find out more about init command from the documentation
Once you're inside an existing project, a local react-native
binary will be available for you to use. Feel free to use Yarn to call it directly.
Example running start
command in terminal:
yarn react-native start
# or:
npx react-native start
# or
node ./node_modules/.bin/react-native start
You can also add npm scripts to call it with whichever package manager you use:
{
"scripts": {
"start": "react-native start"
}
}
Because we release independently of react-native
, it happens that you may be locked on a version without fixes for bugs that affect you. Here's how to get it sorted:
- If you use lock files (
yarn.lock
orpackage-lock.json
) - find the@react-native-community/cli
entry, remove it, runyarn install
/npm install
once again. - If you don't use lock files – remove
node_modules
and runyarn install
/npm install
again. - Run
yarn list @react-native-community/cli
ornpm list @react-native-community/cli
and verify you're on the latest version.
After performing these steps you should be on the latest CLI version. Feel free to do it once in a while, because we release often.
- Michał Pierzchała (@thymikee) - Callstack
- Mike Grabowski (@grabbou) - Callstack
- Kacper Wiszczuk (@esemesek) - Callstack
Everything inside this repository is MIT licensed.