2015-12-27 7 views
2

Я пытаюсь использовать aws s3 с героем и самоцветом. Во время работы git push heroku master, я получаю эту ошибку синтаксиса (я спрятала ключи доступа)ошибка синтаксиса конфигурации aws s3

# 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'] 
     } 
    } 

Я попытался изменить синтаксис, но я не могу получить в любом месте. Если у вас есть какие-либо другие рекомендации о том, как сохранить изображения скрепки paperclip в ведро s3, пожалуйста, дайте мне знать. Благодарю.

+0

Установили ли вы свою ENV в своем приложении Heroku? – Gearnode

+0

Да, он настроен на производство –

+0

Попробуйте без ENV? – Gearnode

ответ

0

Если вы используете основную ветку Paperclip, вы должны использовать драгоценный камень выше 2.0.0, и вам может потребоваться внести несколько изменений, чтобы заставить его работать. Из документации скрепки:

Скрепка теперь совместима с aws-sdk> = 2.0.0.

Если вы используете хранилище S3, AWS-SDK> = 2.0.0 требует, чтобы сделать несколько маленьких> изменения:

  • Вы должны установить s3_region
  • Если вы явно настройки разрешений в любом месте, например, в> инициализаторе , обратите внимание, что формат разрешений изменился с использования подчеркивания> на с использованием дефиса. Например, :public_read необходимо изменить на public-read.

В одном из моих проектов, я начал с более ранней ветвью, а затем модернизирован и получил ту же ошибку вы получили при нажатии на Heroku. Я обновил учетные данные, чтобы включить регион, и это устранило проблему для меня.

Смежные вопросы