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

Next.js部署AWS Amplify失败,报未引用的mongodb模块缺失错误如何解决?

部署错误修复方案

错误根因

你遇到的Module not found: Error: Can't resolve 'mongodb'报错,是项目中引入的typeorm包导致的:typeorm默认会引入所有支持的数据库驱动相关代码,webpack打包时会检测到mongodb的引用,如果你没有安装mongodb依赖就会抛出错误,和你项目实际是否使用mongodb功能无关。

修复步骤

  • 方案1:直接卸载无用的typeorm依赖(优先推荐)
    如果你的项目确实不需要使用typeorm,直接运行以下命令移除依赖即可:
    # npm
    npm uninstall typeorm
    # yarn
    yarn remove typeorm
    # pnpm
    pnpm remove typeorm
    
  • 方案2:配置Next.js webpack规则跳过无效依赖解析
    如果你确实需要使用typeorm,就在项目根目录的next.config.js中添加以下配置,标记mongodb为外部依赖,打包时跳过解析:
    const nextConfig = {
      webpack: (config) => {
        config.externals.push({
          mongodb: 'commonjs mongodb',
          // 如有其他未用到的数据库驱动也可以按需添加,比如pg、mysql2等
        })
        return config
      }
    }
    module.exports = nextConfig
    
  • 方案3:清理AWS Amplify构建缓存
    修改代码后进入AWS Amplify控制台,找到对应项目的构建设置,开启「清理构建缓存」选项后重新触发构建,避免旧缓存导致异常。

可选优化(不影响构建成功)

你可以本地运行npx browserslist@latest --update-db更新caniuse数据库,消除日志中的过时警告。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 15:15:03