2015-12-02 13 views
15

Sono nuovo di React Native. Ho usato react-native init XXX per creare un nuovo progetto. Quando lanciare il xcodeproj, ho ottenuto un errore che dice:xcode utilizzando la versione node.js errata

const setupEnvScript = /^win/.test(process.platform) 
    ^^^^^ 
SyntaxError: Use of const in strict mode. 
    at Module._compile (module.js:439:25) 
    at Module._extensions..js (module.js:474:10) 
    at Object.require.extensions.(anonymous function) [as .js] (/Users/allanhahaha/Documents/Seat/getseat/SeatApp/node_modules/react-native/node_modules/babel-core/lib/api/register/node.js:214:7) 
    at Module.load (module.js:356:32) 
    at Function.Module._load (module.js:312:12) 
    at Module.require (module.js:364:17) 
    at require (module.js:380:17) 
    at Object.<anonymous> (/Users/allanhahaha/Documents/Seat/getseat/SeatApp/node_modules/react-native/cli.js:15:18) 
    at Module._compile (module.js:456:26) 
    at Object.Module._extensions..js (module.js:474:10) 

Secondo la mia ricerca, questo è un problema di versione node.js: avrei dovuto uso v.4.0 +.

Sto utilizzando NVM per gestire le mie versioni node.js. Nella normale finestra di terminale, ho questo:

$ node --version 
v5.1.0 

ma in Xcode quando si esegue lo script di shell di avvio, ho visto che usa una versione diversa, v0.10.40, e Xcode non conosce nvm comando sia ..

La domanda è, come devo configurare il mio Mac in modo che xcode possa prendere la stessa versione che ho impostato con nvm?

Grazie!


Aggiornamento: ho cercato di source mia ~/.bash_profile nello script di shell eseguito da Xcode, ma ancora non risolvere il problema.

+0

Hai visto questo problema? https://github.com/facebook/react-native/issues/3974 –

+0

Ciao Allan, puoi mostrarci cosa c'è nel tuo bash_profile, almeno nella parte riguardante nvm? Inoltre usi normalmente iTerm o Terminal? – Almouro

+0

@ColinRamsay Ciao grazie per il commento, ho appena provato con '. ~ \ .bash_profile' e ha funzionato ... –

risposta

5

Ho risolto il problema aggiungendo . ~\.bash_profile all'inizio dello script della shell.

5

Il problema sembra verificarsi quando si è installato react-native-cli con la versione del nodo errata (e quindi npm).

innanzitutto chiudere Xcode e facciamo in modo che non ci sono vecchi processi nodo in esecuzione, non sono sicuro se questo è necessario, ma è bene assicurarsi che:

$ ps -e|grep node 
$ kill {process number(s) here} 

Quindi impostare la NVM predefinita versione nodo a quello che si desidera utilizzare, ad esempio:

$ nvm alias default 6.6.0 

Poi riavviare il terminale e assicurarsi che la versione nodo è ora quello che si desidera per impostazione predefinita:

$ node -v 
v6.6.0 

Ora reinstallare reagisce-native-cli con la nuova versione nodo attivo (colpisce la versione NPM):

$ npm install -g react-native-cli 

Ora esecuzione $ react-native run-ios dovrebbe funzionare Xcode con la versione corretta! (In caso contrario, assicurati di riavviare il tuo terminale/xcode e riprova).

0

Visto che questo è il risultato migliore in Google durante la ricerca di questo errore, il seguente è l'unica cosa che ha funzionato per me.

Ho dovuto disinstallare il nodo (che era stato precedentemente installato con il pacchetto dal sito Web del nodo), disinstallare nvm e reinstallare il nodo con Brew.

Link per ulteriori informazioni.

1

Aggiungi il tuo percorso del nodo costruire Fasi/Bundle Reagire codice nativo e le impostazioni di immagini

Setting

+0

Invece del percorso di hardcoding, ho semplicemente assegnato NODE_BINARY a nvm quale nodo – Nilesh