执行npm init vue@latest安装Vue3遇语法错误,求修复方案
问题:执行
npm init vue@latest时出现语法错误(npm 6.14.4) 参照视频教程《Laravel 9 和 Vue 3 SPA 在线商店 10. 创建Vue3项目,在线商店客户端》操作,执行命令npm init vue@latest时出现如下语法错误,当前npm版本为6.14.4,请问如何修复该错误并完成Vue的正确安装?
错误日志
Microsoft Windows [Version 6.1.7601] (c) Корпорация Майкрософт (Microsoft Corp.), 2009. Все права защищены. C:\Windows\system32>cd C:\OpenServer\domains\clientpart C:\OpenServer\domains\clientpart>npm init vue@latest npx: installed 1 in 31.943s C:\Users\1\AppData\Roaming\npm-cache\_npx\7892\node_modules\create-vue\outfile.cjs:3856 const isFeatureFlagsUsed = typeof (argv.default ?? argv.ts ?? argv.jsx ?? argv.router ?? argv.pinia ?? argv.tests ?? argv.vitest ?? argv.cypress ?? argv.eslint) === "boolean"; ^ SyntaxError: Unexpected token '?' at wrapSafe (internal/modules/cjs/loader.js:915:16) at Module._compile (internal/modules/cjs/loader.js:963:27) at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10) at Module.load (internal/modules/cjs/loader.js:863:32) at Function.Module._load (internal/modules/cjs/loader.js:708:14) at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:60:12) at internal/main/run_main_module.js:17:47 C:\OpenServer\domains\clientpart>npm -v 6.14.4 C:\OpenServer\domains\clientpart>npm init vue@latest npx: installed 1 in 2.887s C:\Users\1\AppData\Roaming\npm-cache\_npx\10624\node_modules\create-vue\outfile.cjs:3856 const isFeatureFlagsUsed = typeof (argv.default ?? argv.ts ?? argv.jsx ?? argv.router ?? argv.pinia ?? argv.tests ?? argv.vitest ?? argv.cypress ?? argv.eslint) === "boolean"; ^ SyntaxError: Unexpected token '?' at wrapSafe (internal/modules/cjs/loader.js:915:16) at Module._compile (internal/modules/cjs/loader.js:963:27) at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10) at Module.load (internal/modules/cjs/loader.js:863:32) at Function.Module._load (internal/modules/cjs/loader.js:708:14) at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:60:12) at internal/main/run_main_module.js:17:47 C:\OpenServer\domains\clientpart>
修复方案
问题根源
错误中的??是空值合并运算符,该语法需要Node.js 14及以上版本支持。而npm 6.14.4对应的Node.js版本通常为12.x,不兼容该语法,且最新版create-vue已不再支持低版本Node.js。
方案一:升级Node.js和npm(推荐)
- 下载并安装Node.js 16+的LTS稳定版本,安装完成后npm会自动升级到对应兼容版本
- 执行以下命令验证版本:
node -v npm -v - 版本达标后,重新执行
npm init vue@latest即可正常创建项目
方案二:使用兼容旧Node.js的create-vue版本
如果暂时不想升级Node.js,可以指定兼容Node.js 12+的create-vue版本执行:
npm init vue@3.2.37
执行后按照命令行提示完成项目创建即可。
内容的提问来源于stack exchange,提问作者vladwebsearch
相关产品推荐
相关产品推荐

