首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >提供Cloudinary无效Cloudinary Config

提供Cloudinary无效Cloudinary Config
EN

Stack Overflow用户
提问于 2014-08-02 16:36:57
回答 1查看 1.7K关注 0票数 2

我是KeystoneJS的新手,我在Heroku的部署上遇到了一个小问题。这是我的网站:http://jeroendruwe.herokuapp.com/,当我导航到管理部分(http://jeroendruwe.herokuapp.com/keystone/signin)时,我得到了无效的Cloudinary提供的错误

Papertrailapp日志:http://pastebin.com/Yn8Pdttz

我读过文档(http://keystonejs.com/docs/configuration/#services-cloudinary)。奇怪的是,当我尝试其中一个(在keystone.js中)时,整个站点就停止工作了:

代码语言:javascript
复制
keystone.set('cloudinary config', { cloud_name: 'my-cloud', api_key: 'abc', api_secret:     '123' });
// or
keystone.set('cloudinary config', 'cloudinary://api_key:api_secret@cloud_name' );

因此,我目前所做的是在keystone.init中设置属性(.‘cloudinary config':’cloudinary://‘)。我还在CLOUDINARY_URL文件中将url添加到.env环境变量中

我怎样才能解决这个问题?

有人也能解释一下.env文件中的变量是干什么的吗?根中有一个文件,节点_模块/dotenv文件夹中有一个文件,这些文件没有被推送到git中,那么如何使用它们呢?

提前感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-08-03 04:07:03

首先,让我先回答最后一个问题。.env文件由dotenv模块使用,该模块加载.env文件中的变量/值,并使其在process.env中可供应用程序使用。确保在代码中尽早调用.load()方法。

代码语言:javascript
复制
var dotenv = require('dotenv');
dotenv.load();

您还应该知道Heroku还有另外两种方法来配置环境变量(参见配置和Config变量)。一个通过您的应用程序仪表板,另一个通过他们的CLI。

使用Heroku仪表板,只需填写NEW_KEYNEW_VALUE字段,然后按Save

使用Heroku,只需使用heroku config:set命令即可。

代码语言:javascript
复制
$ heroku config:set CLOUDINARY_URL=cloudinary://api_key:api_secret@cloud_name
Adding config vars and restarting myapp... done, v12
CLOUDINARY_URL: cloudinary://api_key:api_secret@cloud_name

如果您正在使用Heroku,我建议您使用这些方法之一来为生产中的应用程序设置CLOUDINARY_URL

现在回到你原来的问题。这个错误通常意味着Cloudinary配置有问题(即它要么不正确,要么完全缺失)。如果没有看到您正在使用的实际代码,就不可能准确地确定问题所在。

我将假设您用实际值替换api_keyapi_secretcloud_name。尽管如此,我仍然会再次检查,以确保这些值是正确的。

在我的Heroku部署中,我使用dovenv在开发中设置环境变量,并在生产中使用Heroku仪表板或CLI设置它们。

如果您仍然有困难,请张贴您使用的实际代码(当然,省略实际的api键),包括.env文件的内容。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25097197

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档