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

如何在运行时记录AWS SDK v3的@aws-sdk/client-s3包版本?

获取@aws-sdk/client-s3运行时实际版本的方法

你的导入代码:

const { S3Client, GetBucketPolicyCommand } = require('@aws-sdk/client-s3');

要获取运行时实际安装的包版本,无需依赖SDK内置方法,可通过以下可靠方式实现:

  • 方法一:读取运行时加载的包的package.json
    利用Node.js的require.resolve定位包的实际安装路径,再读取对应路径下的package.json文件,直接获取当前环境生效的版本:
const path = require('path');
const fs = require('fs');

// 获取@aws-sdk/client-s3包的入口文件实际路径
const s3ClientEntryPath = require.resolve('@aws-sdk/client-s3');
// 回溯找到包的根目录(package.json所在位置)
const s3PackageRoot = path.dirname(path.dirname(s3ClientEntryPath));
// 读取并解析版本信息
const s3PackageInfo = JSON.parse(fs.readFileSync(path.join(s3PackageRoot, 'package.json'), 'utf8'));
console.log('@aws-sdk/client-s3运行时版本:', s3PackageInfo.version);

该方式完全反映当前运行环境中实际加载的包版本,不受未执行安装操作的package.json修改影响。

  • 方法二:脚本场景下使用npm命令解析
    如果是在Shell脚本中获取版本,可执行npm ls命令并解析输出(依赖npm环境):
npm ls @aws-sdk/client-s3 --json | jq '.dependencies["@aws-sdk/client-s3"].version'

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 04:48:11