我希望能够让我的开发机尽可能接近生产服务器(在这种情况下是Heroku)。
Heroku可以让您定义配置变量。
Heroku可以让您定义配置变量。
config:add key=val
现在,由于密钥值不存储在我的代码中,因此这很安全。
您知道我在本地mac机器上如何为每个应用程序创建这样的环境变量吗?
我已经搜索过了,但还没有找到一个好的解决方案。有什么想法吗?
提前感谢您。
config:add key=val
现在,由于密钥值不存储在我的代码中,因此这很安全。
您知道我在本地mac机器上如何为每个应用程序创建这样的环境变量吗?
我已经搜索过了,但还没有找到一个好的解决方案。有什么想法吗?
提前感谢您。
export API_KEY='abcdef123456'
api_key = ENV['API_KEY']
.rb
文件。可以看到代码正在使用config/env.yml
文件设置ENV变量。config/application.rb
中添加内容:require 'env_yaml'
lib/env_yaml.rb
的文件:require 'yaml'
begin
env_yaml = YAML.load_file(File.dirname(__FILE__) + '/../config/env.yml')
if env_hash = env_yaml[ENV['RACK_ENV'] || ENV['RAILS_ENV'] || 'development']
env_hash.each_pair do |k,v|
ENV[k] = v.to_s
end
end
rescue StandardError => e
end
config/env.yml
的文件:defaults: &defaults
ENV_YAML: true
some_key: value
development:
<<: *defaults
test:
<<: *defaults
production:
<<: *defaults
我没有使用pow,而是使用rvm和bash。我按照this Peachpit blog post的说明成功设置了环境变量。
和其他答案类似,我需要在我的~/.profile文件中添加像export TWILIO_ACCOUNT_SID="XXX"
这样的命令。
然后,在我的代码中使用以下方式访问这些变量:
account_sid = ENV["TWILIO_ACCOUNT_SID"]
.env
的文件中,foreman
会自动读取它们。