在节点(尤其是GOOGLE_APPLICATION_CREDENTIALS)中设置环境变量

时间:2018-06-23 22:09:05

标签: node.js google-cloud-platform environment-variables

我有一个节点应用程序,我正在尝试使用Google语言api。我想将环境变量GOOGLE_APPLICATION_CREDENTIALS设置为同一目录中的json文件(同级package.json和app.js)。

我已经在我的app.js文件中尝试了IdentityUserRole<Guid>(使用express),但是它不起作用。我还尝试过将process.env.GOOGLE_APPLICATION_CREDENTIALS = "./key.json";放入package.json中,但效果不佳。当我在终端"GOOGLE_APPLICATION_CREDENTIALS":"./key.json"中运行时,它确实起作用。

这是错误消息:

export GOOGLE_APPLICATION_CREDENTIALS="./key"

感谢任何提示,谢谢!

5 个答案:

答案 0 :(得分:1)

在阅读了有关此问题的文章之后,为我解决此问题的唯一方法是为节点执行声明环境变量:

GOOGLE_APPLICATION_CREDENTIALS="./key.json" node index.js

因为我能够从服务器控制台打印令牌,但是当我运行节点应用程序时,该库无法检索系统环境值,但是设置执行变量可以检索该值

答案 1 :(得分:0)

您正在设置的GOOGLE_APPLICATION_DEFAULT环境变量可以通过google客户端库访问-它将无法使用相对路径,您需要设置绝对路径。

答案 2 :(得分:0)

可能是您的OS中的环境变量未设置。例如,在Linux中,通常必须在执行应用程序的终端中设置GOOGLE_APPLICATION_CREDENTIALS。

 export GOOGLE_APPLICATION_CREDENTIALS="[PATH]"

您拥有的另一个选项是通过代码传递json路径。 documented是使用Node.js和云存储的过程。

答案 3 :(得分:0)

我遇到了同样的问题。通过执行以下操作,我使其能够工作:

export GOOGLE_APPLICATION_CREDENTIALS="//Users/username/projects/projectname/the.json"

答案 4 :(得分:0)

该问题主要在docs here中解决。

该命令根据您的操作系统不同而略有不同: enter image description here enter image description here

相关问题