0

目前我的准系统功能在本地工作,并返回一个 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();
4

1 回答 1

1

我刚刚遇到了同样的错误,对我有用的是从 nodejs.org 重新安装 npm

于 2015-12-17T00:16:00.870 回答