Google Cloud Datastore - 无法读取未定义的属性“createInsecure”

问题描述 投票:0回答:2

DataStore版本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或代码库进行任何更改以返回新的数据存储区。

任何帮助,为什么我得到这个错误将不胜感激!

google-cloud-datastore grpc gcp
2个回答
0
投票

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

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


0
投票

在官方GitHub issue tracker有一个解决方案,如下所示:

我认为这条线让我们陷入困境。我相信这会返回一个grpc包装器,而不是一个实际的grpc实例。我想我们可以做到这一点

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

尝试在导致问题的行之前运行上一个命令。

© www.soinside.com 2019 - 2024. All rights reserved.