2015-12-10 69 views
35

Sto provando a creare un nuovo progetto nativo reattivo che dovrebbe utilizzare una versione precedente di react-native.Nuovo progetto React Native con versione precedente di react native

Il risultato mi piacerebbe sarebbe quello di fare qualcosa di simile: react-native init MyProject ma hanno la versione di reagire nativa utilizza essere 0.13.2.

Tuttavia, non sembrano esserci opzioni con react-native-cli per l'inizializzazione con versioni precedenti di react-native.

Performing react-native init MyProject e poi dowgrading reagire nativo in package.json anche non funziona perché il comando init installa una serie di modelli di Xcode che vengono utilizzati per costruire l'applicazione e non v'è alcun comando dowgrade che dowgrade questi modelli. (C'è un comando upgrade.)

ho cercato declassamento la mia versione di reagire-native-CLI per 0.1.4 che era corrente quando reagisce nativo 0.13 era in corso, ma questo non ha funzionato. Dal guardare la sorgente cli, sembra inizializzarsi sempre con la versione più recente di react-native.

Mi rendo conto che è piuttosto strano voler avviare un nuovo progetto in una versione precedente, ma ho una serie di requisiti che lo costringono.

+3

AFAIK, non sono riuscito a trovare alcun tipo di "downgrade di react-native". Ma quando si inizia un progetto, '$ react-native init ProjectName --version 0.39.0' ref: https://github.com/facebook/react-native/blob/master/react-native-cli/index. js # L51 – roy

risposta

29

rninit è un sostituto per react-native init che consente di specificare una versione specifica di react-native da utilizzare.

Installare rninit a livello globale:

npm install -g rninit 

specificare quale versione di reagire-native da usare:

rninit init [Project Name] --source [email protected] 

Grazie a @ Vanson-wing-leung per me indicando rninit

+36

O semplicemente 'react-native init blank --version react-native @ 0.14.2'. – daserge

+1

@daserge questa dovrebbe essere la risposta accettata.L'ho appena provato con init blank --version [email protected] e ha funzionato come previsto. Forse spostarlo al di fuori dei commenti in modo che OP possa accettarlo? –

+0

Infatti, react-native sembra essere in grado di gestirlo da solo. – Tom

1

Prova questo:

Se si installa la versione di react-native che si desidera nel vostro progetto, è possibile quindi passare (project)/node_modules/react-native/local-cli. Qui vedrai tre cartelle generator che racchiudono i file esatti che RN avrebbe usato per avviare un progetto.

È un po 'manuale, ma almeno avrete accesso ai file originali.

+0

Questo è un buon inizio, grazie! Ho formalmente presentato un problema per reagire in modo nativo chiedendo il supporto nativo di questa funzione. https://github.com/facebook/react-native/issues/4723 –

30

Ci è un nuovo parametro in react-native init che consente proprio questo. Prova: react-native init --version="0.36.0" MyNewApp. Qui il mio source. L'ho provato con successo con react-native-cli 2.0.1.

19

Come dice @daserge, react-native init blank --version [email protected] fare il trucco. non è necessario.