Reputation: 721
I have an .env
file in the root of my app. But I'm getting errors like these in the console. Carrierwave works and fog works if I just inpute the the info into but I don't want to do that. This is still in development and not in production mode yet and I'm getting errors.
Why isn't the .env
file being picked up?
/config/initializers/carrierwave.rb:9: syntax error, unexpected tCONSTANT, expecting keyword_end (SyntaxError)
config.fog_directory = 'ENV['AWS_BUCKET']'
I had assumed that I had to place a aws.rb file into the config/initializers but that produced errors.
.env
:
export AWS_BUCKET=jakesfolder
export AWS_ACCESS_KEY_ID=324fsdf454gd...
export AWS_SECRET_ACCESS_KEY=ghrth454g...
CarrierWave.rb
:
CarrierWave.configure do |config|
config.fog_credentials = {
:provider => 'AWS',
:aws_access_key_id => ENV['AWS_ACCESS_KEY_ID'],
:aws_secret_access_key => ENV['AWS_SECRET_ACCESS_KEY'],
:endpoint => "https://s3.amazonaws.com",
:region => ENV['AWS_REGION']
}
config.fog_directory = 'ENV['AWS_BUCKET']'
end
Gemfile
source 'https://rubygems.org'
gem 'aws-sdk', '< 2.0'
gem 'fog'
gem 'rmagick', '~> 2.15.4'
gem 'carrierwave', '~> 0.10.0'
gem 'font-awesome-rails', '~> 4.4.0.0'
gem 'simple_form'
gem "cocoon"
gem 'devise', '~> 3.5.1'
gem 'bootstrap-sass', '~> 3.3.5'
gem 'rails', '4.2.0'
gem 'sass-rails', '~> 5.0'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.1.0'
gem 'jquery-rails'
gem 'turbolinks'
gem 'jbuilder', '~> 2.0'
gem 'sdoc', '~> 0.4.0', group: :doc
group :development do
gem 'byebug'
gem 'web-console', '~> 2.0'
gem 'spring'
gem 'sqlite3'
end
group :production, :staging do
gem 'pg', '~> 0.18.1'
gem 'rails_12factor', '~> 0.0.3'
end
Upvotes: 0
Views: 297
Reputation: 34338
In your CarrierWave.rb
file, change:
config.fog_directory = 'ENV['AWS_BUCKET']'
to:
config.fog_directory = ENV['AWS_BUCKET']
Your extra '
s are creating problems and you are getting syntax error on that line. So, just remove those and it should work.
Use this configuration for your CarrierWave.rb
file:
CarrierWave.configure do |config|
config.fog_credentials = {
provider: 'AWS',
aws_access_key_id: ENV['AWS_ACCESS_KEY_ID'],
aws_secret_access_key: ENV['AWS_SECRET_ACCESS_KEY'],
endpoint: "https://s3.amazonaws.com",
region: ENV['AWS_REGION']
}
config.fog_directory = ENV['AWS_BUCKET']
end
And, put all of your export AWS_ACCESS_KEY_ID=324fsdf454gd...
in your ~/.bashrc
file.
Upvotes: 1