Nuxt 2项目执行npm run dev报错:Cannot find module 'node:util'
解决Nuxt 2启动报错:Cannot find module 'node:util'
问题场景
通过npm init nuxt-app <project-name>创建Nuxt 2项目,执行npm install后,运行npm run dev启动项目时出现模块找不到的错误。
报错信息
internal/modules/cjs/loader.js:883 throw err; ^ Error: Cannot find module 'node:util' Require stack:
项目package.json配置
{ "name": "test", "version": "1.0.0", "private": true, "scripts": { "dev": "nuxt", "build": "nuxt build", "start": "nuxt start", "generate": "nuxt generate" }, "dependencies": { "bootstrap": "^4.6.2", "bootstrap-vue": "^2.22.0", "core-js": "^3.25.3", "nuxt": "^2.15.8", "vue": "^2.7.10", "vue-server-renderer": "^2.7.10", "vue-template-compiler": "^2.7.10" }, "devDependencies": {} }
当前环境
- Node.js版本:v14.16.1
- npm版本:6.14.12
- Nuxt版本:2.15.8
已尝试无效的操作
- 删除
node_modules和package-lock.json,执行npm cache clean --force、npm i、npm ci后重新启动项目 - 安装nuxt utils相关包
解决方案
问题出在Node.js版本兼容上:Node.js v14.x不支持node:util这种前缀式的模块导入语法,该语法从Node.js v16才开始支持。你当前安装的core-js@3.25.3(或其依赖包)使用了这个语法,导致v14版本无法识别。
有两种解决方式:
方式一:降级兼容的core-js版本
- 执行命令降级
core-js到Node.js v14支持的版本:npm install core-js@3.23.4 --save - 删除
node_modules和package-lock.json,重新执行npm install - 运行
npm run dev启动项目
方式二:升级Node.js版本
直接把Node.js升级到v16及以上的LTS版本(推荐v16),就能原生支持node:util语法,无需调整依赖。
内容的提问来源于stack exchange,提问作者r-rodrigues
相关产品推荐
相关产品推荐

