1

我在尝试在 AWS Cloud9 的 lambda 项目中安装节点模块时遇到问题。

我运行了命令

npm install --save request
npm install --save request-promise

我不断收到“错误:找不到模块'request-promise'”。

我有以下代码。

var rp = require('request-promise');

它的结构是这样的

-Lambda 环境

--getMergedProducts

--node_modules

4

1 回答 1

0

这不是 Lambda 的使用方式。我与一位 AWS 解决方案架构师交谈,他为我安排好了一切。

请记住,每个功能都旨在独立存在,因此需要自行打包。每个函数都有自己的 package.json 和 node_modules,因为每个函数都在自己的容器中运行。

您的方法假设您的所有功能都在相同的基础架构上运行,而在无服务器世界中并非如此。全局模块(超出 Lambda 运行时中打包的模块)不存在。

请务必阅读: https ://docs.aws.amazon.com/lambda/latest/dg/best-practices.html和 https://docs.aws.amazon.com/lambda/latest/dg/nodejs-create -部署-pkg.html

我通过将 node_modules 文件夹从环境文件夹移动到 lambda 项目文件夹来测试它并且它工作!

于 2018-01-25T04:07:25.373 回答