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

构建项目时出现Can't resolve 'aws-sdk'错误,aws-sdk为newrelic间接依赖

解决@newrelic/native-metrics构建时缺失aws-sdk的问题

碰到这个问题真的挺闹心的——明明aws-sdk不是咱们项目需要的,却因为New Relic的依赖链报错。确实没必要把它装成项目直接依赖,这里有几个更合理的解决思路:

  • 升级New Relic相关包到最新稳定版
    有些旧版本的@newrelic/native-metrics对aws-sdk的依赖声明有问题,把它标记成了必需而非可选依赖。执行下面的命令升级到最新版,大概率能解决:

    # npm 用户
    npm update @newrelic/native-metrics newrelic
    # yarn 用户
    yarn upgrade @newrelic/native-metrics newrelic
    
  • 禁用Native Metrics功能(如果不需要的话)
    aws-sdk是@newrelic/native-metrics用于AWS环境下特定指标收集的依赖,如果你的部署环境不是AWS,或者不需要这类原生指标,可以直接禁用这个功能。在构建前设置环境变量:

    # Linux/macOS 终端
    export NEW_RELIC_NATIVE_METRICS_DISABLE=true
    # Windows 命令行
    set NEW_RELIC_NATIVE_METRICS_DISABLE=true
    # 或者在项目的.env文件中添加
    NEW_RELIC_NATIVE_METRICS_DISABLE=true
    

    这样构建时就不会加载涉及aws-sdk的代码逻辑了。

  • 通过构建工具忽略缺失的依赖
    如果需要保留Native Metrics功能,又不想安装aws-sdk,可以在Webpack(或其他构建工具)的配置中把aws-sdk设为忽略项。比如在webpack.config.js里添加:

    module.exports = {
      resolve: {
        fallback: {
          "aws-sdk": false
        }
      }
    };
    

    Webpack会跳过对aws-sdk的解析,而@newrelic/native-metrics内部会检测到模块缺失,自动跳过相关AWS特定逻辑,不会影响核心功能。

之所以不推荐直接安装aws-sdk作为项目依赖,是因为它体积庞大,而且完全是New Relic的内部依赖,强行引入会增加项目的依赖冗余,还可能和其他依赖产生版本冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 04:10:15