提供Cloudinary无效的Cloudinary配置

时间:2014-08-02 16:36:57

标签: cloudinary keystonejs

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

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

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

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:// ...')。我还将url添加到.env文件中的CLOUDINARY_URL环境变量

如何解决此问题?

有人还可以解释.env文件中的变量吗?根目录中有1个,node_modules / dotenv文件夹中有另一个,这些文件没有被推送到git,所以如何使用它们?

提前致谢!

1 个答案:

答案 0 :(得分:2)

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

var dotenv = require('dotenv');
dotenv.load();

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

使用Heroku信息中心,只需填写NEW_KEYNEW_VALUE字段,然后按Save

Configuring variables via Heroku Dashboard

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

$ 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 Dashboard或CLI将它们设置为生产环境。

如果您仍然遇到问题,请发布您使用的实际代码(当然省略您的实际API密码),包括.env文件的内容。