密钥就在那里,但我仍然得到`fetch’:找不到密钥:“S3_BUCKET_NAME”(KeyError)

我知道有很多这样的问题,但我试图跟着每一个没有运气。 我必须忽略一些容易出错的错误。

我正在尝试按照Heroku指南设置S3和Paperclip,并按照此词和代码指南设置本地测试。 每次我尝试生成数据库迁移,但我收到错误:

config/environments/development.rb:62:in fetch': key not found: "S3_BUCKET_NAME" (KeyError)

这些是我的文件,完全替换了键:

development.rb

 config.paperlip_defaults = { storage: :s3, s3_credientials: { bucket: ENV.fetch('S3_BUCKET_NAME'), access_key_id: ENV.fetch('AWS_ACCESS_KEY_ID'), secret_access_key: ENV.fetch('AWS_SECRET_ACCESS_KEY'), s3_region: ENV.fetch('AWS_REGION') } } 

.ENV

 S3_BUCKET_NAME=some-bucket-name AWS_ACCESS_KEY_ID=AAAAAABBBBBCCCCCDDDD AWS_SECRET_ACCESS_KEY=AAAAABBBBBCCCCCDDDDDEEEEE AWS_REGION=us-east-1 

我错过了什么?

编辑:我已尝试将ENV值添加到我的~/.bashrc~/.bash_profle中, 如此问题所示 ,但错误相同。

对于gem来说,答案很简单。

我在我的gemfile中添加了dotenv-rails

 group :development, :test do gem 'dotenv-rails' end 

bundle install ,好好去。

我想我从来没有意识到保存在根目录中的.env文件没有自动加载。