雾提供者不能为空 - fog-aws-asset_sync

时间:2013-04-16 05:15:09

标签: ruby-on-rails ruby-on-rails-3 heroku cdn fog

呃,我收到的错误与此处相同.... rails assets:precompile during slug for s3 error: Fog provider and directory can't be blank when env are set解决方案无效......

当我尝试预编译资产时,出现以下错误:

$ RAILS_ENV=production bundle exec rake assets:precompile
/Users/me/.rvm/rubies/ruby-1.9.3-p362/bin/ruby /Users/me/.rvm/gems/ruby-1.9.3-p362@global/bin/rake assets:precompile:all RAILS_ENV=production RAILS_GROUPS=assets
AssetSync: using default configuration from built-in initializer
AssetSync: using default configuration from built-in initializer
rake aborted!
Fog provider can't be blank
/Users/me/.rvm/gems/ruby-1.9.3-p362/gems/asset_sync-0.5.4/lib/asset_sync/asset_sync.rb:32:in `sync'
/Users/me/.rvm/gems/ruby-1.9.3-p362/gems/asset_sync-0.5.4/lib/tasks/asset_sync.rake:3:in `block in

当我键入heroku labs:list ...时显示已启用user-env-compile

[+] user-env-compile       Add user config vars to the environment during slug compilation

当我输入heroku配置时...我可以看到雾变量已设置

AWS_ACCESS_KEY_ID:            myid
AWS_SECRET_ACCESS_KEY:        mykey
FOG_DIRECTORY:                mydirectory
FOG_PROVIDER:                 AWS

为什么要预先编译一些文件,但是然后给出错误?

1 个答案:

答案 0 :(得分:3)

您是在本地计算机上运行的吗? 您无法从本地计算机访问Heroku的环境变量。

您应该将变量添加到bash_profile中,或尝试使用direnv之类的内容。如果您使用pow进行开发,则最佳选择是.powenv

export AWS_ACCESS_KEY_ID="myid"
export AWS_SECRET_ACCESS_KEY="mykey"
export FOG_DIRECTORY="mydirectory"
export FOG_PROVIDER="AWS"