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

Next.js 集成 AWS SDK 时出现构建错误求助

解决Next.js构建时Cannot get final name for export 'NO_RETRY_INCREMENT'错误

问题分析

这个错误源于@smithy/util-retry包的导出处理异常,核心问题是AWS SDK v3相关依赖版本不匹配,同时项目中并存AWS SDK v2和v3包,大概率引发了依赖冲突。从你的package.json能看到,@aws-sdk/client-s3(3.627.0)、@aws-sdk/middleware-sdk-s3(3.626.0)、@aws-sdk/s3-request-presigner(3.622.0)版本差异明显,这会导致依赖解析混乱。

解决方案

1. 统一AWS SDK v3依赖版本

把所有AWS SDK v3相关包升级到同一版本,推荐用最新兼容版:

  • 修改package.json中的对应依赖:
"@aws-sdk/client-s3": "^3.627.0",
"@aws-sdk/middleware-sdk-s3": "^3.627.0",
"@aws-sdk/s3-request-presigner": "^3.627.0"
  • 执行命令重新安装依赖:
rm -rf node_modules package-lock.json # yarn项目用yarn.lock
npm install # yarn项目用yarn install

2. 移除冗余的AWS SDK v2依赖

如果项目已经完全迁移到AWS SDK v3,直接卸载v2版本:

npm uninstall aws-sdk

如果必须保留v2,可通过npm resolutions强制统一@smithy/util-retry版本,避免冲突:
在package.json中添加:

"resolutions": {
  "@smithy/util-retry": "^3.0.0"
}

然后执行:

npm install

3. 调整Next.js webpack配置(可选)

若上述方法无效,在next.config.js中添加webpack配置,强制指定依赖解析路径:

/** @type {import('next').NextConfig} */
const nextConfig = {
  webpack: (config) => {
    config.resolve.alias['@smithy/util-retry'] = require.resolve('@smithy/util-retry');
    return config;
  },
};

module.exports = nextConfig;

4. 清除构建缓存

执行Next.js缓存清除命令后重新构建:

next build --no-cache

验证

完成上述操作后,再次运行next build,检查编译错误是否消失。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 00:45:53