HarmonyOS鸿蒙Next中一直提示node异常,我本地是使用nvm安装了node,找不到匹配的
HarmonyOS鸿蒙Next中一直提示node异常,我本地是使用nvm安装了node,找不到匹配的
"F:\DevEco Studio\tools\node\node.exe" "F:\DevEco Studio\tools\hvigor\bin\hvigorw.js" --sync -p product=default --analyze=normal --no-parallel --incremental --no-daemon
file:///F:/DevEco%20Studio/tools/hvigor/bin/hvigorw.js:3
var e, t = require("fs"), r = require("path"), n = require("process"), o = require("crypto"), i = require("child_process"), a = require("os"), u = require("constants"), s = require("stream"), l = require("util"), c = require("assert"), f = require("tty"), d = require("url"), p = require("zlib"), v = require("net"), h = require("fs/promises"), g = "undefined" != typeof globalThis ? globalThis : "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof self ? self : {}, y = {}, m = {}, E = {};
^
ReferenceError: require is not defined in ES module scope, you can use import instead
This file is being treated as an ES module because it has a '.js' file extension and 'F:\package.json' contains "type": "module". To treat it as a CommonJS script, rename it to use the '.cjs' file extension.
at file:///F:/DevEco%20Studio/tools/hvigor/bin/hvigorw.js:3:12
at ModuleJob.run (node:internal/modules/esm/module_job:195:25)
at async ModuleLoader.import (node:internal/modules/esm/loader:337:24)
at async loadESM (node:internal/process/esm_loader:34:7)
at async handleMainPromise (node:internal/modules/run_main:106:12)
Node.js v18.20.1
Process finished with exit code 1
更多关于HarmonyOS鸿蒙Next中一直提示node异常,我本地是使用nvm安装了node,找不到匹配的的实战教程也可以访问 https://www.itying.com/category-93-b0.html
根据日志信息:This file is being treated as an ES module because it has a ‘.js’ file extension and ‘F:\package.json’ contains “type”: “module”. To treat it as a CommonJS script, rename it to use the ‘.cjs’ file extension.,可以获知是package.json文件报错。
检查电脑F盘是不是有个多余的一个package.json文件,此文件为错误文件,导致项目运行报错,可以把这个文件删除试试。
更多关于HarmonyOS鸿蒙Next中一直提示node异常,我本地是使用nvm安装了node,找不到匹配的的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
嗯嗯可以了
在HarmonyOS Next中,node异常通常由nvm管理的Node.js版本与鸿蒙环境不兼容导致。鸿蒙Next对Node.js版本有特定要求,nvm安装的版本可能未适配。请检查并切换至鸿蒙支持的Node.js版本,确保环境变量配置正确。若问题持续,需确认鸿蒙开发工具链是否完整安装。
这个错误是因为你的项目配置了 ES 模块("type": "module"),但 DevEco Studio 自带的 hvigorw.js 脚本使用的是 CommonJS 的 require 语法,两者不兼容。
解决方法:
- 检查项目根目录下的
package.json,如果包含"type": "module",请删除这一行或改为"type": "commonjs"。 - 如果项目必须使用 ES 模块,可以尝试将 hvigorw.js 重命名为 hvigorw.cjs,使其被识别为 CommonJS 模块。
- 确保 DevEco Studio 使用的是自带的 Node.js 版本,而非通过 nvm 安装的版本。在设置中检查 Node.js 路径,指向 DevEco Studio 安装目录下的 node.exe。
优先推荐第一种方法,修改 package.json 的模块类型配置即可解决问题。

