61

I am trying to create a new react native project which should utilize an older version of react-native.

The result I would like would be to do something like: react-native init MyProject but have the version of react-native it uses be 0.13.2.

However, there doesn't seem to be any options with react-native-cli for initializing with old versions of react-native.

Performing react-native init MyProject and then dowgrading react-native in package.json also does not work because the init command installs a bunch of xcode templates which are used to build the app and there is no dowgrade command which will dowgrade these templates. (There is an upgrade command.)

I tried downgrading my version of react-native-cli to 0.1.4 which was current when react-native 0.13 was current, but this did not work. From looking at the cli source, it seems it always initializes with just the newest version of react-native.

I realize this is pretty weird to want to start a new project at an old version, but I have a weird set of requirements that are forcing this.

Jordan Ell
  • 1,595
  • 3
  • 14
  • 22
  • 3
    AFAIK, I couldn't find some kind of 'downgrade of react-native'. But when you init a project, `$ react-native init ProjectName --version 0.39.0` ref: https://github.com/facebook/react-native/blob/master/react-native-cli/index.js#L51 – roy Jan 05 '17 at 08:12

9 Answers9

65

There is a new parameter in react-native init that allows just this. Try:

react-native init --version="react-native@0.36.0" MyNewApp

Here my source. I have successfully tested it with react-native-cli 2.0.1.

Tom Aranda
  • 5,562
  • 11
  • 31
  • 50
martinarroyo
  • 8,923
  • 3
  • 33
  • 73
37

rninit is a replacement for react-native init that allows you to specify a particular version of react-native to use.

Install rninit globally:

npm install -g rninit

Specify which version of react-native to use:

rninit init [Project Name] --source react-native@0.14.2

Thanks to @vanson-wing-leung for pointing me to rninit

emmby
  • 98,307
  • 64
  • 183
  • 245
27

Use the --version flag.

react-native init blank --version react-native@0.14.2
Tom Aranda
  • 5,562
  • 11
  • 31
  • 50
2

Try this:

If you install the version of react-native that you want in your project, you can then navigate to (project)/node_modules/react-native/local-cli. Here you will see three generator folders which enclose the exact files RN would have used to initiate a project.

It's a bit manual, but at least you'll have access to the original files.

John Shammas
  • 2,677
  • 1
  • 16
  • 33
  • This is a good start, thanks! I have formally submitted an issue to react native asking for native support of this feature. https://github.com/facebook/react-native/issues/4723 – Jordan Ell Dec 10 '15 at 23:46
2

specify react-native version at the time of installing

something like this

react-native init --version="react-native@0.52.0" ExampleApp
omkar yadav
  • 365
  • 4
  • 12
1

The only solution that works with react native latest cli is

react-native init NewProject --version X.XX.X 

e.g

react-native init NewProject --version 0.61.5 

Thanks @Shamendra

Sumanta
  • 1,155
  • 4
  • 15
  • 25
1

Here's the command as of April 2022.

npx react-native init newproject --version="0.66.4"

projectds
  • 485
  • 4
  • 7
0

react-native init MyApp --version react-native@0.58.6

Ashutosh Dash
  • 502
  • 2
  • 6
  • 15
-1

For existing react native project to downgrade run

npm install react-native@0.13.2

Then verify the version by running

react-native -version
hzak
  • 679
  • 9
  • 18