【问题标题】:AWS Lambda function returning "Cannot find module 'bl'" yet it is presentAWS Lambda 函数返回“找不到模块 'bl'”但它存在
【发布时间】:2015-11-19 17:39:15
【问题描述】:

目前我的准系统功能在本地工作,并返回一个 authtoken。 当我压缩我的文件夹的内容(不是文件夹本身,一个较早的问题)并在 Lambda 上上传/测试时,我收到一个错误“找不到模块 'bl'”,这似乎来自

/var/task/node_modules/googleapis/node_modules/google-auth-library/node_modules/request/request.js:9:10。

bl 模块在那里,我尝试重新安装 bl 和整个 googleapis 模块几次。我试过删除对 bl 的引用,但没有一个有效。包含 bl 的请求模块本身包含多次,所以也许我尝试在不同的位置引用 bl。对我来说,它可以在本地工作,包括模块,而不是在 lambda 上工作,这是没有意义的。

我已经编写了几个 Lambda 函数,但这是我必须使用库并上传 zip 而不是内联编写的第一个函数,所以也许我还遗漏了其他一些东西。

任何帮助将不胜感激。

var https = require('https');
var google = require('googleapis');
var doc = require('dynamodb-doc');
var dynamo = new doc.DynamoDB(); 

var key = { ... }; 

function requestToken() {
    var scope = 'https://www.googleapis.com/auth/calendar';
    var jwtClient = new google.auth.JWT(key.client_email, null, key.private_key, scope, null);
    jwtClient.authorize(function(err, tokens) {
        if (err) {
          console.log(err);
          return;
        }
        else {
          console.log('token: ' + JSON.stringify(tokens)); // works as intended locally
        }

    });
}

requestToken();

【问题讨论】:

    标签: node.js amazon-web-services lambda google-api-nodejs-client


    【解决方案1】:

    我也遇到了同样的错误,对我有用的是reinstalling npm from nodejs.org

    【讨论】:

      猜你喜欢
      • 2019-05-03
      • 2016-12-21
      • 2021-11-20
      • 2015-08-21
      • 2022-11-24
      • 2020-03-16
      • 1970-01-01
      • 1970-01-01
      • 2019-09-12
      相关资源
      最近更新 更多