无法找到模块“extend”AWS Lambda Node.js

3
我希望我的Lambda函数能够使用request库进行POST请求。我只需要基于我使用npm安装的库来定义一个request变量:
var request = require('request');

我遇到了这个错误:
  {
      "errorMessage": "Cannot find module 'extend'",
      "errorType": "Error",
      "stackTrace": [
        "Function.Module._resolveFilename (module.js:338:15)",
        "Function.Module._load (module.js:280:25)",
        "Module.require (module.js:364:17)",
        "require (module.js:380:17)",
        "Object.<anonymous> (/var/task/node_modules/request/index.js:17:29)",
        "Module._compile (module.js:456:26)",
        "Object.Module._extensions..js (module.js:474:10)",
        "Module.load (module.js:356:32)",
        "Function.Module._load (module.js:312:12)",
        "Module.require (module.js:364:17)"
      ]
    }

我已经尝试在json配置中添加 "request":"*",也多次重新安装了该软件包,但它根本不起作用。

2个回答

0
根据这个Github问题的判断,您需要重新安装Node.js和NPM,清除node_modules文件夹并再次运行npm install

非常感谢,我重新安装了Node和所有的node_modules,现在它可以工作了! - user3913702

0

您的NodeJS版本可能与Lambda当前运行的版本不同。

  1. 卸载NodeJS
  2. 删除您的node_modules文件夹
  3. 安装您为Lambda指定的正确的NodeJS版本:v4.3.2(首选)或v0.10.42
  4. 运行npm install

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接