【问题标题】:Google Cloud Datastore - cannot read property 'createInsecure' of undefinedGoogle Cloud Datastore - 无法读取未定义的属性“createInsecure”
【发布时间】:2017-12-18 00:25:48
【问题描述】:

数据存储版本 1.2.0

这是我用来从函数中为实时和测试版本返回新数据存储区的代码:

const Datastore = require('@google-cloud/datastore')
...
let localDatastore = Datastore({
  projectId: '<<replaced-project-id>>',
  apiEndpoint: 'localhost:8081'
})

return isLive() ? Datastore() : localDatastore

我在 Google App Engine 和本地运行时都收到此错误消息:

TypeError: Cannot read property 'createInsecure' of undefined
at new Datastore (<removed path>/node_modules/@google-cloud/datastore/src/index.js:400:45)
at Datastore (<removed path>/node_modules/@google-cloud/datastore/src/index.js:366:12)

这是它抱怨的那一行:

this.options.sslCreds = grpc.credentials.createInsecure();

在我删除之前它似乎工作正常,然后重新安装了我的 node_modules。这些是我的依赖项:

"@google-cloud/datastore": "^1.2.0",
"bluebird": "^3.4.7",
"joi": "^10.6.0",
"lodash": "^4.17.4",
"moment": "^2.17.1",
"shortid": "^2.2.6",
"ticketbuddy-library": "file:../ticketbuddy-library",
"uuid": "^3.0.1"

但我的 git 历史记录没有显示对我的 package.json 或代码库所做的任何更改以返回新的数据存储。

任何关于我为什么会收到此错误的帮助将不胜感激!

【问题讨论】:

  • 这看起来像是谷歌云数据存储库中的一个错误。我认为如果您向他们的 GitHub 存储库提交问题,他们会发现这很有帮助。

标签: google-cloud-datastore grpc gcp


【解决方案1】:

我找到的一个解决方案是在 package.json 文件中将 DataStore 版本设置为 1.1.0:

"@google-cloud/datastore": "1.1.0"

【讨论】:

    【解决方案2】:

    在官方 GitHub issue tracker 有一个解决方案是这样的:

    我认为这条线在这里给我们带来了麻烦。我相信这个 返回一个 grpc 包装器,而不是一个实际的 grpc 实例。我想我们可以 但是这样做

    var grpc = require('google-gax').grpc().grpc;
    

    尝试在给您带来问题的行之前运行上一个命令。

    【讨论】:

      猜你喜欢
      • 2020-01-09
      • 2018-10-23
      • 1970-01-01
      • 2016-12-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-26
      相关资源
      最近更新 更多