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

Next.js本地yarn dev报错:标识符_util已声明,线上构建正常求助

本地Next.js dev环境出现ModuleParseError问题排查

无任何项目更新操作的情况下,本地执行yarn dev时突然出现如下错误,但yarn build构建正常,推送到Vercel部署运行也无问题:

ModuleParseError: Module parse failed: Identifier '_util' has already been declared (35:6)
File was processed with these loaders:
 * ./node_modules/next/dist/build/webpack/loaders/next-swc-loader.js
You may need an additional loader to handle the result of these loaders.
| const _store = require("../shared/store");
| const _api = require("../shared/util/api");
> const _util = require("../shared/util");
| const Home = ({ homeData  })=>{
|     const router = (0, _router.useRouter)();

This error happened while generating the page. Any console logs will be displayed in the terminal window.

推测报错与util相关导入有关,但注释其中一个导入后会出现其他随机错误。已尝试以下操作但均无效:

  • 清除node_modules、删除yarn.lock、执行yarn cache clean
  • 更新/回滚依赖版本
  • 修改tsconfig.json配置ES版本
  • 将Node.js从16升级到18

排查建议

  1. 清除SWC缓存
    Next.js dev模式依赖SWC缓存编译结果,缓存损坏可能触发异常。执行命令清除缓存后重启dev:

    rm -rf .next/cache
    
  2. 检查路径大小写一致性
    本地系统(如MacOS)大小写不敏感,而Vercel的Linux环境大小写敏感。若util相关导入路径存在大小写不一致(如../shared/Util和../shared/util),本地dev时可能触发重复声明错误,build阶段未暴露。逐一检查所有util导入路径,确保大小写完全匹配。

  3. 排查别名配置冲突
    查看tsconfig.json或jsconfig.json中的paths配置,是否存在指向util的重复别名映射。例如:

    {
      "compilerOptions": {
        "paths": {
          "@/util/*": ["./shared/util/*"],
          "@/util": ["./shared/util"]
        }
      }
    }
    

    这类配置可能导致不同导入路径解析为同一模块,触发重复声明。

  4. 检查自定义Webpack配置
    若项目有自定义next.config.js,检查是否修改了SWC loader设置或添加了影响模块解析的插件。临时注释自定义Webpack配置,重启dev看是否恢复正常。

  5. 重启开发环境与编辑器
    本地dev模式下文件监听可能出现缓存异常,关闭所有IDE/编辑器后重启开发服务器,避免文件锁定导致的解析问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 09:15:33