钥匙在那里,但我仍然得到“获取”:找不到钥匙:"S3_BUCKET_NAME"(KeyError)
Key is there but I still get `fetch': key not found: "S3_BUCKET_NAME" (KeyError)
我知道有很多这样的问题,但我已经尝试过每一个,但没有成功。肯定有一些我忽略的简单错误。
我正尝试按照 Heroku guide and set up local testing following this Words and Code 指南设置 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。
我将 dotenv-rails
添加到我的 gem 文件
group :development, :test do
gem 'dotenv-rails'
end
bundle install
一切顺利。
我想我从来没有意识到保存在根目录中的 .env 文件没有自动加载。
我知道有很多这样的问题,但我已经尝试过每一个,但没有成功。肯定有一些我忽略的简单错误。
我正尝试按照 Heroku guide and set up local testing following this Words and Code 指南设置 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
我错过了什么?
编辑:我已尝试按照 ~/.bashrc
和 ~/.bash_profle
,但出现相同的错误。
答案很简单 gem。
我将 dotenv-rails
添加到我的 gem 文件
group :development, :test do
gem 'dotenv-rails'
end
bundle install
一切顺利。
我想我从来没有意识到保存在根目录中的 .env 文件没有自动加载。