2015-12-10 35 views
35

Ich versuche ein neues reaktives natives Projekt zu erstellen, das eine ältere Version von react-native verwenden soll.Neues React Native Projekt mit alter Version von react native

Das Ergebnis, das ich möchte wäre etwas zu tun wie: react-native init MyProject, aber die Version von reactive-native verwendet es 0.13.2 sein.

Es scheint jedoch keine Optionen mit react-native-cli für die Initialisierung mit alten Versionen von react-native zu geben.

react-native init MyProject ausüben und dann dowgrading reagieren-native in package.json auch nicht funktioniert, weil der init Befehl ein Bündel von Xcode-Vorlagen installiert, die verwendet werden, um die Anwendung zu erstellen und es gibt keinen dowgrade Befehl, der diese Vorlagen dowgrade wird. (Es gibt einen upgrade Befehl.)

Ich habe versucht, die Herabstufung meine Version reagieren-native-cli zu 0.1.4, die befanden sich zum Zeitpunkt reagieren-native 0.13 war Strom, aber das hat nicht funktioniert. Wenn man sich die cli-Quelle anschaut, scheint sie immer mit der neuesten Version von react-native initialisiert zu werden.

Ich weiß, das ist ziemlich seltsam, ein neues Projekt in einer alten Version zu starten, aber ich habe eine seltsame Reihe von Anforderungen, die dies erzwingen.

+3

AFAIK, ich konnte keine Art von 'downgrade von reaktionsnativen' finden. Aber wenn Sie ein Projekt initiieren, $ reactive-native init Projektname - Version 0.39.0' ref: https://github.com/facebook/react-native/blob/master/react-native-cli/index. js # L51 – roy

Antwort

29

rninit ist ein Ersatz für react-native init, mit dem Sie eine bestimmte Version von react-native zur Verwendung angeben können.

Installieren rninit global:

npm install -g rninit 

angeben, welche Version reagieren-native zu verwenden: me

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

Dank @ vanson-wing-Leung für den Hinweis auf rninit

+36

Oder einfach 'reaktiv-native init blank --version react-native @ 0.14.2'. – daserge

+1

@daserge sollte dies die akzeptierte Antwort sein.Ich habe es gerade mit init blank --version [email protected] versucht und es hat wie erwartet funktioniert. Vielleicht verschieben Sie es außerhalb der Kommentare, damit OP es akzeptieren kann? –

+0

In der Tat, reagiert native reagiert in der Lage, damit allein fertig zu werden. – Tom

1

Versuchen Sie folgendes:

Wenn Sie die Version von react-native installieren, die Sie in Ihrem Projekt möchten, können Sie dann auf (project)/node_modules/react-native/local-cli navigieren. Hier sehen Sie drei generator Ordner, die die genauen Dateien einschließen, die RN verwendet hätte, um ein Projekt zu initiieren.

Es ist ein bisschen manuell, aber zumindest haben Sie Zugriff auf die Originaldateien.

+0

Das ist ein guter Anfang, danke! Ich habe ein Problem offiziell eingereicht, um native Anfragen nach nativer Unterstützung dieser Funktion zu beantworten. https://github.com/facebook/react-native/issues/4723 –

30

Es ist ein neuer Parameter in react-native init, der genau dies erlaubt. Versuchen Sie: react-native init --version="0.36.0" MyNewApp. Hier meine source. Ich habe es erfolgreich mit react-native-cli 2.0.1 getestet.

19

Wie @daserge sagt, react-native init blank --version [email protected] tun Sie den Trick. rninit wird nicht benötigt.