You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

执行npx react-native init报错:SyntaxError: Unexpected token '?'

问题原因

你遇到的SyntaxError: Unexpected token '?'错误,核心原因是Node.js 12.22.9版本不支持ES2020的空值合并运算符(??),而当前React Native CLI依赖的代码使用了该语法,导致执行失败。

解决方案

1. 卸载旧版本Node.js和npm

先移除通过apt安装的过时版本:

sudo apt remove --purge nodejs npm
sudo apt autoremove
sudo rm -rf /usr/local/lib/node_modules

2. 安装nvm(Node版本管理器)

nvm能方便管理多个Node.js版本,执行以下命令安装:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

安装完成后,重启终端或执行:

source ~/.bashrc

验证nvm安装成功:

nvm --version

3. 安装兼容的Node.js LTS版本

React Native推荐使用LTS版本(如18.x或20.x),这里以18.x为例:

nvm install 18
nvm use 18

设置为默认版本:

nvm alias default 18

4. 验证版本并重新初始化项目

检查版本是否正确:

node --version  # 应显示v18.x.x
npm --version   # 对应配套npm版本

重新执行项目创建命令:

npx react-native init myApp

内容的提问来源于stack exchange,提问作者tfk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 13:05:05