【发布时间】:2019-09-12 00:04:53
【问题描述】:
我一直在重构我们的一些 AWS lambda 函数,在这个最新版本中我收到以下错误:
"Payload": "{\"errorMessage\":\"Cannot find module '../vendor/endpoint-cache'\",\"errorType\":\"Error\",\"stackTrace\":[\"Function.Module._load (module.js:474:25)\",\"Module.require (module.js:596:17)\",\"require (internal/module.js:11:18)\",\"Object.<anonymous> (/var/task/node_modules/aws-sdk/lib/core.js:76:18)\",\"Module._compile (module.js:652:30)\",\"Object.Module._extensions..js (module.js:663:10)\",\"Module.load (module.js:565:32)\",\"tryModuleLoad (module.js:505:12)\",\"Function.Module._load (module.js:497:3)\"]}"
此模块位于 aws-sdk 节点模块的供应商文件夹中。 我检查了部署工件以确保该文件夹存在,并尝试降级到之前使用的旧版本的 aws-sdk。
package.json 中的依赖项:
"dependencies": {
"aws-sdk": "^2.59.0",
"moment": "^2.22.2",
"underscore": "^1.8.3"
},
构建服务器运行 npm-install 然后
$path = Get-Location
$thisProject = "$($path)\pathToProject\*"
Compress-Archive -Path $thisProject -DestinationPath thisProject.zip
在此问题上停留了一段时间,因此非常感谢任何帮助。
【问题讨论】:
-
临时修复:使用早于 v2.352.0 的版本。我在同一条船上。我已将问题范围缩小到
aws-sdk引用了github.com/aws/aws-sdk-js/releases/tag/v2.352.0 版本github.com/aws/aws-sdk-js/releases/tag/v2.352.0 中引入的新功能endpoint-cache在此行github.com/aws/aws-sdk-js/blob/… 上的更改。 AWS lambda 的 Node 8.10 似乎找不到它。
标签: amazon-web-services aws-lambda aws-sdk