aws s3配置语法错误

时间:2015-12-27 15:31:55

标签: ruby-on-rails heroku amazon-s3 paperclip

我正在尝试将aws s3与heroku和paperclip gem一起使用。 运行git push heroku master时,我一直收到此语法错误(我隐藏了访问密钥)

# Command Line
remote: SyntaxError: /tmp/build_f1b59509e4d703e2f559ca42123c2f30/config/environments/production.rb:84: syntax error, unexpected tSYMBEG, expecting '}'
remote: :access_key_id = ENV['access_key'],
remote: ^
remote: /tmp/build_f1b59509e4d703e2f559ca42123c2f30/config/environments/production.rb:85: syntax error, unexpected '=>', expecting :: or '[' or '.'
remote: :secret_access_key = ENV['secret_key']
remote: ^
remote: /tmp/build_f1b59509e4d703e2f559ca42123c2f30/config/environments/production.rb:86: syntax error, unexpected '}', expecting keyword_end

Heroku devcenter指示我使用下面显示的代码。https://devcenter.heroku.com/articles/paperclip-s3

    # config/environments/production.rb
    config.paperclip_defaults = {
      :storage => :s3,
      :s3_credentials => {
        :bucket => ENV['S3_BUCKET_NAME'],
        :access_key_id => ENV['AWS_ACCESS_KEY_ID'],
        :secret_access_key => ENV['AWS_SECRET_ACCESS_KEY']
      }
    }

我尝试过更改语法但我无法到达任何地方。如果您对如何将回形针宝石图像保存到s3存储桶有任何其他建议,请告诉我们。感谢。

1 个答案:

答案 0 :(得分:0)

如果您正在使用Paperclip的主分支,那么您应该使用2.0.0以上的was gem,您可能需要进行一些更改才能使其工作。从回形针文档:

  

Paperclip现在与aws-sdk> = 2.0.0兼容。

     

如果您使用的是S3存储,aws-sdk> = 2.0.0要求您制作一些?>小   变化:

     
      
  • 您必须设置s3_region
  •   
  • 如果您在任何地方明确设置权限,例如在>初始值设定项中,   请注意,权限的格式已从使用下划线>更改为   用连字符。例如,:public_read需要更改为   public-read
  •   

在我的一个项目中,我已经开始使用较早的分支,然后进行升级,并且在推送到heroku时遇到了同样的错误。我更新了凭据以包含该区域并为我解决了问题。