在Ubuntu环境下,NodeJS Google Vision报错:
Error: Unable to detect a Project Id in the current environment.
即使我已经通过json凭据提供了信息。
$ export GOOGLE_APPLICATION_CREDENTIALS=/var/credential_google.json"
请帮忙。
在Ubuntu环境下,NodeJS Google Vision报错:
Error: Unable to detect a Project Id in the current environment.
即使我已经通过json凭据提供了信息。
$ export GOOGLE_APPLICATION_CREDENTIALS=/var/credential_google.json"
请帮忙。
如果你想快速地解决问题,你可以尝试这个方法:
$ GOOGLE_APPLICATION_CREDENTIALS="/var/credential_google.json" node app.js
不建议在本地使用 .json 配置文件。我看到过这些配置文件泄露到生产服务器上,导致整个平台被删除,同时也会带来环境切换和安全问题。
安装 Google Cloud CLI。
现在服务器将“查看”本地环境并使用它。
如果出现“无法在当前环境中检测到项目 ID”的错误,则表示认证库无法找到默认项目 ID。
您需要设置一个基本项目,无论您正在运行的环境变量和项目如何。
执行:
gcloud config set project [some-project-id]
现在如果你运行(node example)
"dev": "NODE_ENV=dev GCP_PROJECT=some-project-id nodemon index.ts",
此命令将加载项目环境。这还使得您可以更轻松地进行部署:
"deploy:dev": "y | gcloud app deploy --project some-dev-project app.yaml",
"deploy:prod": "y | gcloud app deploy --project some-prod-project app.yaml"
App Engine在标准环境下自动设置安全性。使用Flex环境时,您可以使用Google提供的管理镜像之一。
当实例化客户端时,您可以直接将JSON凭据的路径作为参数传递。
例如:
const client = new speech.SpeechClient( {keyFilename: "credential_google.json"});
另外,对于我来说,在终端中设置它并没有起作用。