如何从 npm 脚本运行谷歌云身份验证凭据

问题描述

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

为了访问我的帐户,我目前在终端中设置了我的身份验证凭据(虽然我在 Windows pc 上是 bash 终端),如下所示,然后可以运行我的 server.js 文件,该文件调用 Google Api

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 环境中运行“export”命令的问题(也许 npm 脚本认在 cmd 或 powershell 中执行?),因此安装了 cross-env 并将我的脚本更改为:

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

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

解决方法

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

试试

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