aws-sdk报错:Node.js项目在Windows运行正常但Linux EC2实例运行失败
Node.js项目aws-sdk跨环境报错解决方案
- 凭证配置排查:Windows环境通常已经通过用户目录下的
.aws凭证文件、系统环境变量完成了AWS身份认证,迁移到Linux EC2后需要确认对应配置是否存在:可以检查EC2实例当前用户目录下~/.aws/credentials文件是否有效,也可以直接为EC2实例绑定具备对应AWS服务访问权限的IAM角色,无需手动配置密钥。 - 依赖兼容性排查:Windows环境下安装的
node_modules包含适配Windows的二进制包,直接拷贝项目到Linux会触发二进制不兼容报错。需要删除项目根目录下的node_modules文件夹、package-lock.json/yarn.lock文件,在Linux环境重新执行npm install安装适配Linux平台的依赖。 - 文件路径大小写排查:Linux文件系统大小写敏感,Windows则不敏感。检查代码中aws-sdk相关的模块引用路径大小写是否完全匹配,例如错误写法
require('AWS-SDK')在Windows下可正常运行,在Linux下会抛出模块找不到的报错。 - Node.js版本一致性排查:确认Linux环境的Node.js大版本和Windows环境保持一致,版本跨度过大可能导致aws-sdk出现兼容问题。

内容的提问来源于stack exchange,提问作者AyushPayasi
相关产品推荐
相关产品推荐

