node.js - 尝试在 Node js 中初始化 Google Cloud api 时,无服务器失败

标签 node.js google-app-engine google-cloud-datastore google-cloud-platform

我正在使用nodejs6.10的谷歌数据存储,它在无服务器离线状态下运行良好。但是当我部署并尝试使用函数 url 时。

我收到以下错误:

module initialization error: Error
at Error (native)
at Object.Module._extensions..node (module.js:597:18)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)
at Object.<anonymous> 
(/var/task/node_modules/grpc/src/node/src/grpc_extension.js:38:15)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)

我尝试安装 npm 包并上传它们,但没有用。

以下是我的无服务器提供商部分的快照:

provider:
 name: aws
 runtime: nodejs6.10
 environment:
   Environment: ${env:Environment}
 region: ${env:AWS_REGION}

这就是我尝试使用数据存储的方式:

let datastore = require('@google-cloud/datastore')({
projectId: configFile[process.env.Environment].project,
keyFilename: configFile[process.env.Environment].keyfile
});

有人可以帮我解决这个问题吗?

最佳答案

下面的代码是我在node_modules/grpc/src/node/src/grpc_extension.js中看到的

var binary = require('node-pre-gyp/lib/pre-binding');
var path = require('path');
var binding_path =
    binary.find(path.resolve(path.join(__dirname, '../../../package.json')));
var binding = require(binding_path);

查看了 grpc 的 package.json,发现很少有带有本地引用的路径。不确定这是否是问题,没有尝试更正。将尝试更新

关于node.js - 尝试在 Node js 中初始化 Google Cloud api 时,无服务器失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44421343/

相关文章:

javascript - 有没有办法从数组中提取对象并放入新数组中?

node.js - 使用 typescript 将 javascript 模块导入为动态

java - 将图像从 Android 客户端发送到 AppEngine Cloud Endpoint

android - 从 Android 设备消费时的 Google API 安全性

java - FCM 与云数据存储

Javascript array.length 属性

javascript - 使用strongloop简单的mongo对象更新插入

google-app-engine - 在 GAE 中使用 gcloud-python

python - 使用 GAE 数据存储进行作业管理

python - 用户的Google NDB数据存储支票帐户/电子钱包。如何计算余额