Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 更改Figaro gem环境变量heroku_Ruby On Rails_Heroku_Environment Variables_Figaro Ruby - Fatal编程技术网

Ruby on rails 更改Figaro gem环境变量heroku

Ruby on rails 更改Figaro gem环境变量heroku,ruby-on-rails,heroku,environment-variables,figaro-ruby,Ruby On Rails,Heroku,Environment Variables,Figaro Ruby,我正在为一个客户开发一个应用程序 我希望能够启动并运行它,所以我使用了我自己的Facebook和Google API密钥(也用于Amazon AWS),这样他们至少可以在相同系统上创建帐户之前看到它的外观,这样我就可以使用他们的API密钥 现在他们已经创建了自己的帐户,我想更改application.yaml文件中的API密钥,但是当我运行figaro heroku:set-e production时,我得到了错误: /Users/celly/.rubies/ruby-2.2.2/lib/rub

我正在为一个客户开发一个应用程序

我希望能够启动并运行它,所以我使用了我自己的Facebook和Google API密钥(也用于Amazon AWS),这样他们至少可以在相同系统上创建帐户之前看到它的外观,这样我就可以使用他们的API密钥

现在他们已经创建了自己的帐户,我想更改application.yaml文件中的API密钥,但是当我运行
figaro heroku:set-e production
时,我得到了错误:

/Users/celly/.rubies/ruby-2.2.2/lib/ruby/2.2.0/psych.rb:370:在'parse':():分析第14行第1列的块映射时未找到预期的键(psych::SyntaxError)
from/Users/celly/.rubies/ruby-2.2.2/lib/ruby/2.2.0/psych.rb:370:in'parse_stream'
from/Users/celly/.rubies/ruby-2.2.2/lib/ruby/2.2.0/psych.rb:318:in'parse'
from/Users/celly/.rubies/ruby-2.2.2/lib/ruby/2.2.0/psych.rb:245:in'load'
from/Users/celly/.gem/ruby/2.2.2/gems/figaro-1.1.1/lib/figaro/application.rb:60:in'parse'
from/Users/celly/.gem/ruby/2.2.2/gems/figaro-1.1.1/lib/figaro/application.rb:56:“原始配置中的块”
from/Users/celly/.gem/ruby/2.2.2/gems/figaro-1.1.1/lib/figaro/application.rb:56:in'yield'
来自/Users/celly/.gem/ruby/2.2.2/gems/figaro-1.1.1/lib/figaro/application.rb:56:“原始配置”中
来自/Users/celly/.gem/ruby/2.2.2/gems/figaro-1.1.1/lib/figaro/application.rb:64:在“全局配置”中
来自/Users/celly/.gem/ruby/2.2.2/gems/figaro-1.1.1/lib/figaro/application.rb:32:在“配置”中
来自/Users/celly/.gem/ruby/2.2.2/gems/figaro-1.1.1/lib/figaro/cli/task.rb:19:在“配置”中
from/Users/celly/.gem/ruby/2.2.2/gems/figaro-1.1.1/lib/figaro/cli/heroku_set.rb:7:在“运行”中
来自/Users/celly/.gem/ruby/2.2.2/gems/figaro-1.1.1/lib/figaro/cli/task.rb:9:在“运行”中
from/Users/celly/.gem/ruby/2.2.2/gems/figaro-1.1.1/lib/figaro/cli.rb:38:in'block in'
from/Users/celly/.gem/ruby/2.2.2/gems/thor-0.19.1/lib/thor/command.rb:27:in'run'
from/Users/celly/.gem/ruby/2.2.2/gems/thor-0.19.1/lib/thor/invocation.rb:126:in'invoke_command'
from/Users/celly/.gem/ruby/2.2.2/gems/thor-0.19.1/lib/thor.rb:359:in'dispatch'
from/Users/celly/.gem/ruby/2.2.2/gems/thor-0.19.1/lib/thor/base.rb:440:in'start'
from/Users/celly/.gem/ruby/2.2.2/gems/figaro-1.1.1/bin/figaro:5:in`'
from/Users/celly/.gem/ruby/2.2.2/bin/figaro:23:in'load'
from/Users/celly/.gem/ruby/2.2.2/bin/figaro:23:in`'
我怀疑这与他们的钥匙不再匹配之前的钥匙有关

不幸的是,我在Figaro的文档中没有看到任何关于更改键的内容。我在搜索中看到的一切都必须处理正确的缩进,但我知道缩进是正确的,因为它在更改键之前工作正常

任何帮助都将不胜感激

编辑:从application.yaml添加代码

#在此处添加配置值,如下所示。
#
#推送器应用程序id:“2954”
#推键:7381a978f7dd7f9a1117
#推送机密:abdc3b896a0ffb85d373
#条带api密钥:sk测试2J0l093xOyW72XUYJHE4Dv2r
#条带可发布密钥:pk测试ro9jV5SNwGb1yYlQfzG17LHK
#
#制作:
#条带api密钥:sk_live_EeHnL644i6zo4Iyq4v1KdV9H
#条带\u可发布\u密钥:pk\u live\u 9lcthxpSIHbGwmdO941O1XVU
#用于Facebook身份验证
FACEBOOK_消费者_密钥:“消费者密钥”
FACEBOOK_消费者_秘密:“秘密密钥”
#用于谷歌认证
谷歌应用程序ID:“应用程序ID”
谷歌应用程序密码:“密钥”
#用于将图像上载到Amazon Web服务
AWS_桶:“myafrolink”
AWS\u访问\u密钥\u ID:“访问ID”
AWS_SECRET_ACCESS_KEY:“密钥”

我想再次重申,在我更改键的值之前,一切都运行得非常好,即使没有指定开发或生产块。

测试了一些东西,希望它能正常工作,它确实做到了

显然,我必须从heroku中删除当前的环境变量,以便figaro可以将它们重置为新值

heroku config:unset VARIABLE\u NAME
能够成功完成此操作。完成后,我重新运行了figaro heroku:set-e制作,并且能够进行零错误处理

我猜费加罗只能设置变量。当遇到已更改的变量时,它不知道该做什么,因此通过heroku取消设置变量可以让figaro将变量重置为您选择的任何值。

您是否正确设置了(我的意思是正确缩进)application.yml?还要确保文件
application.yml