我不想使用dotenv,但真的想使用工头宝石.它会与figaro一起使用吗?
目前我使用自己的yaml文件来加载env变量,并将它们存储在.env目录下的项目根目录中.似乎工头试图读取.env文件,并在我的.env目录中窒息.
所以,或者使用figaro,有没有办法改变工头寻找我的env变量的地方?
我正在使用Figaro来设置ENV变量.自从安装它以来,我application.yml
已经消失了.当我在编辑器中搜索文件时,所有出现的内容都是对我secrets.yml
文件中要忽略的文件的引用application.yml
.但是,当我application.yml
在config文件夹中创建一个新文件时,它表示application.yml
已存在.
我也可以在取景器中看到它.
我卸载了费加罗并且它仍然没有回来,所以现在我甚至不确定它与费加罗完全相关.
有任何想法吗?我很乐意手动设置ENV变量,尝试Enviable或其他gem,但我想找出导致这个问题的原因.
这个问题已被编辑,表明问题出在Atom而非Figaro,请参阅Zhurora的回答.
我有一个rails 4.1应用程序,我正在尝试组织我的env变量.截至目前,我的config /文件夹中有一个secrets.yml文件.我还安装了figaro宝石.我的目标是将所有我的env变量放在application.yml(未检入git)文件中,然后使用secrets.yml(签入git)文件将变量从appliation.yml映射到应用程序.当我使用Rails.application.secrets打印文件时它只显示如下所示的哈希:
:salesforce_username=>"ENV['SALESFORCE_USERNAME']"
Run Code Online (Sandbox Code Playgroud)
我的所有外部服务都没有使用此env变量设置.当我查看跟踪时,实际的ENV ['ACCOUNT_ID']正在请求中传递,如下所示:
v2/accounts/ENV['ACCOUNT_ID']/envelopes
Run Code Online (Sandbox Code Playgroud)
另外,我无法在我的应用程序中使用Rails.application.secrets.account_id访问我的env变量.
secrets.yml
development:
account_id: <%= ENV['ACCOUNT_ID'] %>
Run Code Online (Sandbox Code Playgroud)
aplication.yml
development:
ACCOUNT_ID: "123456"
Run Code Online (Sandbox Code Playgroud)
application.rb中
# preload tokens in application.yml to local ENV
config = YAML.load(File.read(File.expand_path('../application.yml', __FILE__)))
config.merge! config.fetch(Rails.env, {})
config.each do |key, value|
ENV[key] = value.to_s unless value.kind_of? Hash
end
Run Code Online (Sandbox Code Playgroud) ruby-on-rails environment-variables ruby-on-rails-4 figaro-ruby
我的application.yml
文件如下:
KEYS: ["xxxxxx", "yyyyyy", "zzzzzz"]
Run Code Online (Sandbox Code Playgroud)
当我跑 figaro heroku:set
我收到此错误:
.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/figaro-1.1.1/lib/figaro/cli/heroku_set.rb:7:in `system': no implicit conversion of Integer into String (TypeError)
Run Code Online (Sandbox Code Playgroud)
有人知道我应该如何格式化数组application.yml
吗?
我可能在多个提交中的多个分支上有敏感的密钥信息.我很蠢.当我第一次学习aws并用雾和载波进行设置时,我甚至没有想到我的秘密密钥每次提交都会发布到github.甚至在我尝试将文件添加到gitignore之后.问题是,如何撤消发布此信息的许多提交并实现像figaro这样的gem来保持github的信息秘密?我几乎要删除我的回购...