初始化ViteJS应用时遭遇ERR_REQUIRE_ESM错误求助
解决
npm init @vitejs/app执行报错问题 问题场景
在Gitbash中执行旧版Vite项目初始化命令:
npm init @vitejs/app
触发报错,完整错误信息如下:
npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead. @vitejs/create-app is deprecated, use npm init vite instead C:\Users\me\AppData\Local\npm-cache\_npx\9c7583f20b80c4d1\node_modules\@vitejs\create-app\index.js:43 require('create-vite') ^ Error [ERR_REQUIRE_ESM]: require() of ES Module C:\Users\me\AppData\Local\npm-cache\_npx\9c7583f20b80c4d1\node_modules\create-vite\index.js from C:\Users\me\AppData\Local\npm-cache\_npx\9c7583f20b80c4d1\node_modules\@vitejs\create-app\index.js not supported. C:\Users\me\AppData\Local\npm-cache\_npx\9c7583f20b80c4d1\node_modules\create-vite\index.js is treated as an ES module file as it is a .js file whose nearest parent package.json contains "type": "module" which declares all .js files in that package scope as ES modules. Instead rename C:\Users\me\AppData\Local\npm-cache\_npx\9c7583f20b80c4d1\node_modules\create-vite\index.js to end in .cjs, change the requiring code to use dynamic import() which is available in all CommonJS modules, or change "type": "module" to "type": "commonjs" in C:\Users\me\AppData\Local\npm-cache\_npx\9c7583f20b80c4d1\node_modules\create-vite\package.json to treat all .js files as CommonJS (using .mjs for all ES modules instead). at Object.<anonymous> (C:\Users\me\AppData\Local\npm-cache\_npx\9c7583f20b80c4d1\node_modules\@vitejs\create-app\index.js:43:1) { code: 'ERR_REQUIRE_ESM' } npm ERR! code 1 npm ERR! path C:\Users\me\Desktop npm ERR! command failed npm ERR! command C:\WINDOWS\system32\cmd.exe /d /s /c C:\Users\me\AppData\Local\Temp\npx-ee21ed07.cmd
解决步骤
替换为官方推荐的新命令
错误日志里已经给出明确提示:@vitejs/create-app已被废弃,改用npm init vite即可。执行以下命令:
npm init vite
按照终端引导输入项目名称、选择框架和变体,就能顺利创建Vite项目。
(可选)消除npm全局命令警告
如果要处理那个--global已废弃的警告,后续执行全局安装类命令时,将--global替换为--location=global,例如:
npm install vite --location=global
问题根源
@vitejs/create-app是Vite早期的项目初始化工具,现已被官方淘汰。它与新版Vite依赖的create-vite模块存在模块格式兼容问题——旧工具基于CommonJS,而新版create-vite采用ES模块规范,直接调用会触发ERR_REQUIRE_ESM错误。使用官方推荐的新命令就能彻底规避这个问题。
内容的提问来源于stack exchange,提问作者Yousha Ahmed
相关产品推荐
相关产品推荐

