问题描述
我正在尝试构建一个简单的应用程序,该应用程序利用 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://..."