Ruby on rails 我设置了AWS密钥,它们显示在linux终端上,但Rails 4应用程序可以';我找不到他们。使用aws sdk和carrierwave aws gems

Ruby on rails 我设置了AWS密钥,它们显示在linux终端上,但Rails 4应用程序可以';我找不到他们。使用aws sdk和carrierwave aws gems,ruby-on-rails,amazon-s3,env,Ruby On Rails,Amazon S3,Env,这是我的carrierwave配置文件: CarrierWave.configure do |config| config.storage = :aws config.aws_bucket = ENV.fetch('S3_BUCKET_NAME') config.aws_acl = :public_read config.asset_host = 'http://example.com' config.aws_credentials = { access_key

这是我的carrierwave配置文件:

CarrierWave.configure do |config|
  config.storage    = :aws
  config.aws_bucket = ENV.fetch('S3_BUCKET_NAME')
  config.aws_acl    = :public_read
  config.asset_host = 'http://example.com'

config.aws_credentials = {
  access_key_id:     ENV.fetch('AWS_ACCESS_KEY_ID'),
  secret_access_key: ENV.fetch('AWS_SECRET_ACCESS_KEY')
}

结束

服务器将不会启动并返回:

14:53:23 web.1 |/home/tom/paul/config/initializers/carrierwave.rb:9:在'fetch'中:找不到密钥:“AWS_ACCESS_key_ID”(KeyError)

我在命令行中输入了如下键:

export AWS_ACCESS_KEY_ID="demo12345"
带引号和不带引号

命令

env

显示它们正常

我会使用Gem'Figaro'来帮助管理环境变量。非常容易设置和管理

1) 添加到您的文件和捆绑包:

gem 'figaro', '1.0'
2) 运行“figaro安装”

figaro install
3) 打开生成的文件:config/application.yml并添加变量:

SAMPLE_PASSWORD: exAmplePa$$
SAMPLE_USERNAME: myspecialusername
4) 返回初始值设定项文件并更改变量:

user_name:      ENV['SAMPLE_USERNAME'],
password:       ENV['SAMPLE_PASSWORD'],

你该走了

我会使用Gem'Figaro'来帮助管理环境变量。非常容易设置和管理

1) 添加到您的文件和捆绑包:

gem 'figaro', '1.0'
2) 运行“figaro安装”

figaro install
3) 打开生成的文件:config/application.yml并添加变量:

SAMPLE_PASSWORD: exAmplePa$$
SAMPLE_USERNAME: myspecialusername
4) 返回初始值设定项文件并更改变量:

user_name:      ENV['SAMPLE_USERNAME'],
password:       ENV['SAMPLE_PASSWORD'],

你该走了

您应该在config/environments/development.rb中进行更改/编辑 正如它所说:


您应该在config/environments/development.rb中进行更改/编辑 正如它所说: