M1 Mac执行npm run start无法读取AWS region,无法获取DynamoDB表求助
Node升级后M1 Mac上DynamoDB无法读取AWS Region配置的解决方法
错误信息
aupm:DynamoInit Failed to set config +0ms aupm:DynamoInit Error: Failed to read the AWS region from config aupm:DynamoInit at Object.setConfig (/Users/----/Documents/CMS/---/src/db/DataLayer.js:202:29)
排查与解决步骤
检查AWS配置文件
确认/Users/你的用户名/.aws/config文件格式正确,示例如下:[default] region = us-east-1 # 替换为你的实际区域确保文件位于正确的用户主目录下,无拼写错误或格式问题。
核对代码读取逻辑
打开DataLayer.js第202行,查看代码读取region的方式:- 若使用AWS SDK v2,确认是否依赖默认凭证链,或是否指定了正确的profile;
- 若使用SDK v3,检查是否通过
fromIni()等方法正确加载配置,profile需与config文件中的section对应。
检查环境变量
AWS SDK优先读取环境变量AWS_REGION或AWS_DEFAULT_REGION,在终端执行以下命令验证:echo $AWS_REGION echo $AWS_DEFAULT_REGION若输出为空或错误,可临时设置环境变量后启动项目:
export AWS_REGION=us-east-1 npm run start解决M1架构兼容问题
尝试用Rosetta 2运行终端(右键终端→获取信息→勾选“使用Rosetta打开”),然后重新安装依赖:rm -rf node_modules package-lock.json npm install npm run start升级AWS SDK版本
Node升级后可能存在SDK版本兼容问题,尝试升级到最新稳定版:- SDK v2:
npm install aws-sdk@latest - SDK v3:
npm install @aws-sdk/client-dynamodb@latest @aws-sdk/lib-dynamodb@latest
- SDK v2:
内容的提问来源于stack exchange,提问作者clair
相关产品推荐
相关产品推荐

