Heroku-不会与S3建立连接(访问密钥在环境变量中,没有Paperclip)



当我推送到Heroku:时,我收到了这个错误

Running: rake assets:precompile
       rake aborted!
       You did not provide both required access keys. Please provide the access_key_id and the secret_access_key.

但是,我的钥匙在那里

$ heroku config
AMAZON_ACCESS_KEY_ID        => SOMethingSecRET
AMAZON_SECRET_ACCESS_KEY    => EVENmoreSecret/sTuff//PASSworD

我的S3连接是在config/initifier/S3.rb 中定义的

AWS::S3::Base.establish_connection!(
  :access_key_id     => ENV['AMAZON_ACCESS_KEY_ID'], 
  :secret_access_key => ENV['AMAZON_SECRET_ACCESS_KEY']
)

然而,赫罗库不知何故拒绝阅读它们。甚至heroku自己的医生也告诉你要这样做:http://devcenter.heroku.com/articles/config-vars我已经仔细阅读并尝试了这里关于让Heroku读取s3访问密钥的所有建议的"解决方案",但它们都涉及Paperclip,没有一个需要初始化器。

相关信息:Rails 3.1,Cedar Stack

Heroku他妈的是什么?

如果您在部署过程中遇到此错误,这是因为slug编译器无法访问您的环境(设置了配置变量的环境)。

有两种选择:

1) 使资产预编译代码以静默方式失败,并在部署完成且环境可用后运行它。

2) 使用user_env_compile实验室插件

$ heroku plugins:install http://github.com/heroku/heroku-labs.git
$ heroku labs:enable user_env_compile -a myapp
-----> Enabling user_env_compile for myapp... done
WARNING: This feature is experimental and may change or be removed without notice.

最新更新