【问题标题】:How can I run google cloud authentication credentials from an npm script如何从 npm 脚本运行谷歌云身份验证凭据
【发布时间】:2021-02-25 03:55:45
【问题描述】:

我正在尝试构建一个简单的应用程序,该应用程序利用 google cloud vision api 使用节点进行图像分析,但无法练习如何将 auth 步骤构建到一个简单的 npm 脚本中。

要访问我的帐户,我目前在终端中设置了我的身份验证凭据(虽然我在 Windows pc 上但为 bash 终端),然后可以运行调用 google api 的 server.js 文件。

export GOOGLE_APPLICATION_CREDENTIALS="C:\Users\tim\01_animal_snap\my-key.json"

这显然不需要那么长时间来写出来并且工作正常,但我很想简单地运行像npm run auth 这样的命令。

我尝试将以下内容放入我的 package.json 文件中:

"scripts": {
    "auth": "export GOOGLE_APPLICATION_CREDENTIALS=\"C:\\Users\\tim\\01_animal_snap\\my-key.json\"",

但是当我运行脚本时出现以下错误:

'export' is not recognized as an internal or external command,
operable program or batch file.

我认为这可能是在 Windows 上的 bash 环境中运行“导出”命令的问题(可能 npm 脚本默认在 cmd 或 powershell 中执行?)因此安装了跨环境并将我的脚本更改为:

"scripts": {
    "auth": "cross-env export GOOGLE_APPLICATION_CREDENTIALS=\"C:\\Users\\tim\\01_animal_snap\\my-key.json\"",

虽然我仍然收到关于无法识别导出的相同错误。如何使用 npm 脚本运行此命令?

【问题讨论】:

标签: node.js google-vision


【解决方案1】:

使用 cros-env 时不需要导出。

试试

"auth": "cross-env  GOOGLE_APPLICATION_CREDENTIALS="c://..."

【讨论】:

  • 嗨,我试过了,运行 auth 命令时没有出现错误,但是之后立即运行我的 npm start 命令 ("start": "nodemon server.js") 给了我下面的错误表明我没有通过身份验证:``` UnhandledPromiseRejectionWarning:错误:无法加载默认凭据.....```所以身份验证脚本仍然没有执行
  • 这是另一个错误。您的第一个错误与跨环境有关。针对您的新错误提出新问题或研究。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-17
  • 2019-11-01
  • 2018-10-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多