运行react-native init Hello之后报错SyntaxError

#1

在按照React Native中文社区的步骤配置完环境之后,在一个文件夹内初始化,运行react-native init Hello命令之后,最后会报一个错误,如下图:

先运行这个命令:

C:\Users\13708\Desktop\aaa>react-native init Hello

下面是完整报错信息:

C:\Users\13708\Desktop\aaa>react-native init Hello
This will walk you through creating a new React Native project in C:\Users\13708\Desktop\aaa\Hello
Using yarn v1.7.0
Installing react-native...
yarn add v1.7.0
info No lockfile found.
[1/4] Resolving packages...
[2/4] Fetching packages...
info fsevents@1.2.4: The platform "win32" is incompatible with this module.
info "fsevents@1.2.4" is an optional dependency and failed compatibility check. Excluding it from installation.
[3/4] Linking dependencies...
warning "react-native > metro-babel-register > @babel/plugin-proposal-object-rest-spread@7.0.0-beta.47" has unmet peer dependency "@babel/core@7.0.0-beta.47".
warning "react-native > metro-babel-register > @babel/plugin-proposal-class-properties@7.0.0-beta.47" has unmet peer dependency "@babel/core@7.0.0-beta.47".
warning "react-native > metro-babel-register > @babel/plugin-proposal-optional-chaining@7.0.0-beta.47" has unmet peer dependency "@babel/core@7.0.0-beta.47".
warning "react-native > metro-babel-register > @babel/plugin-transform-async-to-generator@7.0.0-beta.47" has unmet peer dependency "@babel/core@7.0.0-beta.47".
warning "react-native > metro-babel-register > @babel/register@7.0.0-beta.47" has unmet peer dependency "@babel/core@7.0.0-beta.47".
warning "react-native > metro-babel-register > @babel/plugin-transform-modules-commonjs@7.0.0-beta.47" has unmet peer dependency "@babel/core@7.0.0-beta.47".
warning "react-native > metro-babel-register > @babel/plugin-transform-flow-strip-types@7.0.0-beta.47" has unmet peer dependency "@babel/core@7.0.0-beta.47".
warning "react-native > metro-babel-register > @babel/plugin-proposal-object-rest-spread > @babel/plugin-syntax-object-rest-spread@7.0.0-beta.47" has unmet peer dependency "@babel/core@7.0.0-beta.47".
warning "react-native > metro-babel-register > @babel/plugin-proposal-optional-chaining > @babel/plugin-syntax-optional-chaining@7.0.0-beta.47" has unmet peer dependency "@babel/core@7.0.0-beta.47".
warning "react-native > metro-babel-register > @babel/plugin-proposal-class-properties > @babel/plugin-syntax-class-properties@7.0.0-beta.47" has unmet peer dependency "@babel/core@7.0.0-beta.47".
warning "react-native > metro-babel-register > @babel/plugin-transform-flow-strip-types > @babel/plugin-syntax-flow@7.0.0-beta.47" has unmet peer dependency "@babel/core@7.0.0-beta.47".
warning " > react-native@0.56.0" has unmet peer dependency "react@16.4.1".
[4/4] Building fresh packages...

success Saved lockfile.
success Saved 386 new dependencies.
info Direct dependencies
└─ react-native@0.56.0
info All dependencies
├─ @babel/core@7.0.0-beta.47
├─ @babel/helper-builder-binary-assignment-operator-visitor@7.0.0-beta.47
├─ @babel/helper-builder-react-jsx@7.0.0-beta.47
├─ @babel/helper-call-delegate@7.0.0-beta.47
├─ @babel/helper-define-map@7.0.0-beta.47
├─ @babel/helper-explode-assignable-expression@7.0.0-beta.47
├─ @babel/helper-hoist-variables@7.0.0-beta.47
├─ @babel/helper-member-expression-to-functions@7.0.0-beta.47
├─ @babel/helper-module-transforms@7.0.0-beta.47
├─ @babel/helper-wrap-function@7.0.0-beta.47
├─ @babel/helpers@7.0.0-beta.47
├─ @babel/highlight@7.0.0-beta.47
├─ @babel/plugin-external-helpers@7.0.0-beta.47
├─ @babel/plugin-syntax-class-properties@7.0.0-beta.47
├─ @babel/plugin-syntax-dynamic-import@7.0.0-beta.47
├─ @babel/plugin-syntax-flow@7.0.0-beta.47
├─ @babel/plugin-syntax-nullish-coalescing-operator@7.0.0-beta.47
├─ @babel/plugin-syntax-object-rest-spread@7.0.0-beta.47
├─ @babel/plugin-syntax-optional-chaining@7.0.0-beta.47
├─ @babel/plugin-transform-sticky-regex@7.0.0-beta.47
├─ accepts@1.3.5
├─ ansi-colors@1.1.0
├─ ansi-cyan@0.1.1
├─ ansi-escapes@3.1.0
├─ ansi-gray@0.1.1
├─ ansi-red@0.1.1
├─ ansi-styles@2.2.1
├─ ansi@0.3.1
├─ anymatch@2.0.0
├─ are-we-there-yet@1.1.5
├─ arr-flatten@1.1.0
├─ array-filter@0.0.1
├─ array-map@0.0.0
├─ array-reduce@0.0.0
├─ array-slice@0.2.3
├─ art@0.10.2
├─ asap@2.0.6
├─ assign-symbols@1.0.0
├─ async-limiter@1.0.0
├─ async@2.6.1
├─ atob@2.1.1
├─ babel-core@6.26.3
├─ babel-generator@6.26.1
├─ babel-helper-builder-react-jsx@6.26.0
├─ babel-helper-call-delegate@6.24.1
├─ babel-helper-define-map@6.26.0
├─ babel-helper-hoist-variables@6.24.1
├─ babel-helpers@6.24.1
├─ babel-plugin-check-es2015-constants@6.22.0
├─ babel-plugin-external-helpers@6.22.0
├─ babel-plugin-syntax-flow@6.18.0
├─ babel-plugin-syntax-trailing-function-commas@6.22.0
├─ babel-plugin-transform-class-properties@6.24.1
├─ babel-plugin-transform-es2015-arrow-functions@6.22.0
├─ babel-plugin-transform-es2015-block-scoped-functions@6.22.0
├─ babel-plugin-transform-es2015-block-scoping@6.26.0
├─ babel-plugin-transform-es2015-classes@6.24.1
├─ babel-plugin-transform-es2015-computed-properties@6.24.1
├─ babel-plugin-transform-es2015-destructuring@6.23.0
├─ babel-plugin-transform-es2015-for-of@6.23.0
├─ babel-plugin-transform-es2015-function-name@6.24.1
├─ babel-plugin-transform-es2015-literals@6.22.0
├─ babel-plugin-transform-es2015-modules-commonjs@6.26.2
├─ babel-plugin-transform-es2015-object-super@6.24.1
├─ babel-plugin-transform-es2015-parameters@6.24.1
├─ babel-plugin-transform-es2015-shorthand-properties@6.24.1
├─ babel-plugin-transform-es2015-spread@6.22.0
├─ babel-plugin-transform-es2015-sticky-regex@6.24.1
├─ babel-plugin-transform-es2015-template-literals@6.22.0
├─ babel-plugin-transform-es2015-unicode-regex@6.24.1
├─ babel-plugin-transform-es3-member-expression-literals@6.22.0
├─ babel-plugin-transform-es3-property-literals@6.22.0
├─ babel-plugin-transform-flow-strip-types@6.22.0
├─ babel-plugin-transform-object-rest-spread@6.26.0
├─ babel-plugin-transform-react-display-name@6.25.0
├─ babel-plugin-transform-react-jsx@6.24.1
├─ babel-plugin-transform-strict-mode@6.24.1
├─ babel-preset-es2015-node@6.1.1
├─ babel-preset-fbjs@2.1.4
├─ babel-preset-react-native@5.0.2
├─ babel-register@6.26.0
├─ balanced-match@1.0.0
├─ base@0.11.2
├─ base64-js@1.3.0
├─ basic-auth@2.0.0
├─ big-integer@1.6.32
├─ bplist-creator@0.0.7
├─ bplist-parser@0.1.1
├─ brace-expansion@1.1.11
├─ braces@1.8.5
├─ bser@2.0.0
├─ buffer-from@1.1.0
├─ builtin-modules@1.1.1
├─ bytes@3.0.0
├─ cache-base@1.0.1
├─ capture-exit@1.2.0
├─ chalk@1.1.3
├─ chardet@0.4.2
├─ class-utils@0.3.6
├─ cli-cursor@2.1.0
├─ cli-width@2.2.0
├─ cliui@3.2.0
├─ code-point-at@1.1.0
├─ collection-visit@1.0.0
├─ color-convert@1.9.2
├─ color-name@1.1.1
├─ color-support@1.1.3
├─ commander@2.16.0
├─ commondir@1.0.1
├─ compressible@2.0.14
├─ compression@1.7.2
├─ concat-map@0.0.1
├─ concat-stream@1.6.2
├─ convert-source-map@1.5.1
├─ copy-descriptor@0.1.1
├─ core-js@2.5.7
├─ core-util-is@1.0.2
├─ create-react-class@15.6.3
├─ cross-spawn@5.1.0
├─ debug@2.6.9
├─ decamelize@1.2.0
├─ decode-uri-component@0.2.0
├─ delegates@1.0.0
├─ destroy@1.0.4
├─ detect-indent@4.0.0
├─ dom-walk@0.1.1
├─ ee-first@1.1.1
├─ encoding@0.1.12
├─ envinfo@5.10.0
├─ error-ex@1.3.2
├─ errorhandler@1.5.0
├─ etag@1.8.1
├─ event-target-shim@1.1.1
├─ eventemitter3@3.1.0
├─ execa@0.7.0
├─ expand-brackets@0.1.5
├─ expand-range@1.8.2
├─ external-editor@2.2.0
├─ extglob@0.3.2
├─ fancy-log@1.3.2
├─ fbjs-scripts@0.8.3
├─ fbjs@0.8.17
├─ figures@2.0.0
├─ filename-regex@2.0.1
├─ fill-range@2.2.4
├─ finalhandler@1.1.0
├─ find-cache-dir@1.0.0
├─ find-up@2.1.0
├─ for-in@1.0.2
├─ for-own@0.1.5
├─ fresh@0.5.2
├─ fs.realpath@1.0.0
├─ gauge@1.2.7
├─ get-caller-file@1.0.2
├─ get-stream@3.0.0
├─ get-value@2.0.6
├─ glob-base@0.3.0
├─ glob-parent@2.0.0
├─ glob@7.1.2
├─ global@4.3.2
├─ growly@1.3.0
├─ has-ansi@2.0.0
├─ has-flag@3.0.0
├─ has-unicode@2.0.1
├─ has-value@1.0.0
├─ has-values@1.0.0
├─ home-or-tmp@2.0.0
├─ hosted-git-info@2.7.1
├─ http-errors@1.6.3
├─ iconv-lite@0.4.23
├─ image-size@0.6.3
├─ imurmurhash@0.1.4
├─ inflight@1.0.6
├─ inherits@2.0.3
├─ inquirer@3.3.0
├─ invariant@2.2.4
├─ invert-kv@1.0.0
├─ is-accessor-descriptor@1.0.0
├─ is-arrayish@0.2.1
├─ is-builtin-module@1.0.0
├─ is-data-descriptor@1.0.0
├─ is-descriptor@1.0.2
├─ is-dotfile@1.0.3
├─ is-equal-shallow@0.1.3
├─ is-finite@1.0.2
├─ is-fullwidth-code-point@1.0.0
├─ is-plain-object@2.0.4
├─ is-posix-bracket@0.1.1
├─ is-primitive@2.0.0
├─ is-promise@2.1.0
├─ is-stream@1.1.0
├─ is-windows@1.0.2
├─ isarray@1.0.0
├─ isexe@2.0.0
├─ jest-docblock@23.0.1
├─ jest-serializer@23.0.1
├─ jest-worker@23.0.1
├─ json-stable-stringify@1.0.1
├─ json5@0.5.1
├─ jsonfile@2.4.0
├─ kind-of@3.2.2
├─ klaw@1.3.1
├─ lcid@1.0.0
├─ left-pad@1.3.0
├─ load-json-file@2.0.0
├─ locate-path@2.0.0
├─ lodash.pad@4.5.1
├─ lodash.padend@4.6.1
├─ lodash.padstart@4.6.1
├─ lru-cache@4.1.3
├─ make-dir@1.3.0
├─ makeerror@1.0.11
├─ map-visit@1.0.0
├─ math-random@1.0.1
├─ mem@1.1.0
├─ merge@1.2.0
├─ metro-babel-register@0.38.1
├─ metro-babel7-plugin-react-transform@0.38.1
├─ metro-cache@0.38.1
├─ metro-memory-fs@0.38.1
├─ metro-minify-uglify@0.38.1
├─ metro-source-map@0.38.1
├─ metro@0.38.1
├─ mime-db@1.34.0
├─ mime-types@2.1.11
├─ mime@1.6.0
├─ min-document@2.19.0
├─ minimatch@3.0.4
├─ minimist@1.2.0
├─ mixin-deep@1.3.1
├─ mkdirp@0.5.1
├─ morgan@1.9.0
├─ mute-stream@0.0.7
├─ nanomatch@1.2.13
├─ negotiator@0.6.1
├─ node-fetch@1.7.3
├─ node-int64@0.4.0
├─ node-modules-regexp@1.0.0
├─ node-notifier@5.2.1
├─ normalize-package-data@2.4.0
├─ normalize-path@2.1.1
├─ npm-run-path@2.0.2
├─ npmlog@2.0.4
├─ object-assign@4.1.1
├─ object-copy@0.1.0
├─ object.omit@2.0.1
├─ onetime@2.0.1
├─ opn@3.0.3
├─ optimist@0.6.1
├─ options@0.0.6
├─ os-homedir@1.0.2
├─ os-locale@2.1.0
├─ os-tmpdir@1.0.2
├─ p-finally@1.0.0
├─ p-limit@1.3.0
├─ p-locate@2.0.0
├─ p-try@1.0.0
├─ parse-glob@3.0.4
├─ parse-json@2.2.0
├─ pascalcase@0.1.1
├─ path-exists@3.0.0
├─ path-is-absolute@1.0.1
├─ path-key@2.0.1
├─ path-parse@1.0.5
├─ path-type@2.0.0
├─ pegjs@0.10.0
├─ pirates@3.0.2
├─ pkg-dir@2.0.0
├─ plist@3.0.1
├─ plugin-error@0.1.2
├─ posix-character-classes@0.1.1
├─ preserve@0.2.0
├─ pretty-format@4.3.1
├─ private@0.1.8
├─ process-nextick-args@2.0.0
├─ process@0.5.2
├─ prop-types@15.6.2
├─ pseudomap@1.0.2
├─ randomatic@3.0.0
├─ range-parser@1.2.0
├─ react-clone-referenced-element@1.0.1
├─ react-deep-force-update@1.1.1
├─ react-devtools-core@3.2.3
├─ react-native@0.56.0
├─ react-proxy@1.1.8
├─ react-timer-mixin@0.13.3
├─ react-transform-hmr@1.0.4
├─ read-pkg-up@2.0.0
├─ read-pkg@2.0.0
├─ readable-stream@2.3.6
├─ regenerate-unicode-properties@7.0.0
├─ regenerator-transform@0.12.4
├─ regex-cache@0.4.4
├─ regexpu-core@4.2.0
├─ regjsgen@0.4.0
├─ regjsparser@0.3.0
├─ remove-trailing-separator@1.1.0
├─ repeating@2.0.1
├─ require-directory@2.1.1
├─ require-main-filename@1.0.1
├─ resolve-url@0.2.1
├─ resolve@1.8.1
├─ restore-cursor@2.0.0
├─ ret@0.1.15
├─ rimraf@2.6.2
├─ rsvp@3.6.2
├─ run-async@2.3.0
├─ rx-lite-aggregates@4.0.8
├─ rx-lite@4.0.8
├─ safer-buffer@2.1.2
├─ sane@2.5.2
├─ sax@1.1.6
├─ semver@5.5.0
├─ send@0.16.2
├─ serialize-error@2.1.0
├─ serve-static@1.13.2
├─ set-blocking@2.0.0
├─ set-value@2.0.0
├─ setprototypeof@1.1.0
├─ shebang-command@1.2.0
├─ shebang-regex@1.0.0
├─ shell-quote@1.6.1
├─ shellwords@0.1.1
├─ signal-exit@3.0.2
├─ simple-plist@0.2.1
├─ slash@1.0.0
├─ slide@1.1.6
├─ snapdragon-node@2.1.1
├─ snapdragon-util@3.0.1
├─ source-map-resolve@0.5.2
├─ source-map-support@0.4.18
├─ source-map-url@0.4.0
├─ spdx-correct@3.0.0
├─ spdx-exceptions@2.1.0
├─ split-string@3.1.0
├─ stacktrace-parser@0.1.4
├─ static-extend@0.1.2
├─ statuses@1.3.1
├─ stream-buffers@2.2.0
├─ string_decoder@1.1.1
├─ string-width@1.0.2
├─ strip-ansi@3.0.1
├─ strip-bom@3.0.0
├─ strip-eof@1.0.0
├─ supports-color@2.0.0
├─ temp@0.8.3
├─ throat@4.1.0
├─ through@2.3.8
├─ through2@2.0.3
├─ time-stamp@1.1.0
├─ tmp@0.0.33
├─ tmpl@1.0.4
├─ to-fast-properties@2.0.0
├─ to-regex-range@2.1.1
├─ typedarray@0.0.6
├─ ua-parser-js@0.7.18
├─ uglify-es@3.3.9
├─ ultron@1.0.2
├─ unicode-canonical-property-names-ecmascript@1.0.4
├─ unicode-match-property-ecmascript@1.0.4
├─ unicode-match-property-value-ecmascript@1.0.2
├─ unicode-property-aliases-ecmascript@1.0.4
├─ union-value@1.0.0
├─ unpipe@1.0.0
├─ unset-value@1.0.0
├─ urix@0.1.0
├─ use@3.1.0
├─ util-deprecate@1.0.2
├─ utils-merge@1.0.1
├─ uuid@3.0.1
├─ validate-npm-package-license@3.0.3
├─ vary@1.1.2
├─ walker@1.0.7
├─ watch@0.18.0
├─ whatwg-fetch@2.0.4
├─ which-module@2.0.0
├─ which@1.3.1
├─ wrap-ansi@2.1.0
├─ write-file-atomic@1.3.4
├─ xcode@0.9.3
├─ xmlbuilder@9.0.7
├─ xmldoc@0.4.0
├─ xpipe@1.0.5
├─ xtend@4.0.1
├─ y18n@3.2.1
└─ yargs-parser@7.0.0
Done in 15.28s.
C:\Users\13708\Desktop\aaa\Hello\node_modules\react-native\local-cli\cliEntry.js:30
import type {CommandT} from './commands';
^^^^^^

SyntaxError: Unexpected token import
    at createScript (vm.js:80:10)
    at Object.runInThisContext (vm.js:139:10)
    at Module._compile (module.js:616:28)
    at Module._compile (C:\Users\13708\Desktop\aaa\Hello\node_modules\pirates\lib\index.js:91:24)
    at Module._extensions..js (module.js:663:10)
    at Object.newLoader [as .js] (C:\Users\13708\Desktop\aaa\Hello\node_modules\pirates\lib\index.js:96:7)
    at Module.load (module.js:565:32)
    at tryModuleLoad (module.js:505:12)
    at Function.Module._load (module.js:497:3)
    at Module.require (module.js:596:17)

说是语法错误,Unexpected token import,然后Hello这个目录里面也不是像教程里有一堆文件,只有三个文件

我在网上搜了好多回答,没有遇到和我问题一样的,但看了看那些回答,好像是因为node无法识别ES6的语法,需要安装bable,我的问题是,好几篇react native配置环境教程中都是一样的,没有提到要安装bable,按照教程来为什么会报这个错误呢?以及我这个问题应该如何解决呢,求助大神。

我的noed版本是8.11的,系统是Windows10专业版

#2

同求啊。这个问题困扰我四天了,一直没找到解决办法

#4

问题已经解决了,忘记发上来了
这个问题是因为前段时间更新的react-native 0.56版本在Windows上有bug不能正常运行,所以才会一直报错,然后我试了一下react-native init xxx --version 0.55.4,即初始化时指定版本,然后就一切正常了

另外,可以进入项目的文件夹,然后

C:\Users\13708\Desktop\aaa\Hello>react-native -v
react-native-cli: 2.0.1
react-native: 0.56.0

就可以看到自己项目的版本了