2015-12-02 11 views
15

Jestem nowy, aby React Native. Użyłem react-native init XXX do stworzenia nowego projektu. Kiedy uruchomić xcodeproj, mam błąd mówiąc:xcode za pomocą niewłaściwej wersji node.js

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) 

Według moich badań, jest to node.js wersja problem: muszę mieć zastosowanie v.4.0 +.

Używam NVM do zarządzania moimi wersjami node.js. W regularnego oknie terminala, mam to:

$ node --version 
v5.1.0 

ale w Xcode gdy uruchomić skrypt powłoki początek, widziałem to przy użyciu innej wersji, v0.10.40 i Xcode nie wie o nvm komendę albo ..

Pytanie brzmi: jak mam skonfigurować mój komputer Mac, aby xcode mógł pobrać tę samą wersję, którą ustawiłem za pomocą nvm?

Dziękujemy!


Aktualizacja: Próbowałem source mój ~/.bash_profile w skrypcie wykonywanym przez Xcode, ale nadal nie jest rozwiązanie problemu.

+0

Widziałeś ten problem? https://github.com/facebook/react-native/issues/3974 –

+0

Witaj Allan, czy możesz pokazać nam, co jest w twoim bash_profile, przynajmniej część dotyczącą nvm? Czy zazwyczaj używasz iTerm lub terminala? – Almouro

+0

@ColinRamsay Dziękuję za komentarz, po prostu próbowałem z '. ~ \ .bash_profile' i zadziałało ... –

Odpowiedz

5

Rozwiązałem problem, dodając . ~\.bash_profile do początku skryptu powłoki.

5

Problem wydaje się występować, gdy zainstalowano system-native-cli z nieprawidłową wersją węzła (a tym samym npm).

Najpierw zamknąć Xcode i niech się upewnić, że nie ma starych procesów węzeł działa, nie jestem pewien, czy to jest konieczne, ale dobrze jest mieć pewność:

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

Następnie ustawić domyślny NVM wersja do jednego węzła, którego chcesz użyć, na przykład:

$ nvm alias default 6.6.0 

Następnie ponownie uruchom terminal i upewnij się, że wersja węzeł jest obecnie jednym chcesz domyślnie:

$ node -v 
v6.6.0 

Teraz ponowna reagować-native CLI z nowej wersji aktywnego węzła (to wpływa na wersję npm):

$ npm install -g react-native-cli 

Teraz działa $ react-native run-ios powinien uruchomić Xcode z odpowiedniej wersji! (Jeśli nie, należy ponownie uruchomić terminal/kod xcode i spróbować ponownie).

0

Widząc, że jest to najwyższy wynik w Google podczas wyszukiwania tego błędu, jedyną rzeczą, która sprawdziła się dla mnie, są poniższe elementy.

Musiałem odinstalować węzeł (który był wcześniej zainstalowany z pkg ze strony internetowej Node), odinstalować nvm i przeinstalować węzeł Brew.

Link, aby uzyskać więcej informacji.

1

Dodaj swoją ścieżkę węzła zbudować Fazy/Bundle React natywny kod i ustawienia obrazów

Setting

+0

Zamiast ścieżki hardcoding, po prostu przypisałem NODE_BINARY do nvm który węzeł – Nilesh

Powiązane problemy