Я пытаюсь интегрировать amazon s3 в свой проект. Gemfile выглядит следующим образом.
gem 'paperclip', '~> 5.0.0'
gem 'aws-sdk-s3'
development.rb
config.paperclip_defaults = {
:storage => :s3,
:bucket => 'name_ofbucket'
}
Paperclip.options[:command_path] = "/usr/local/bin/"
config / aws.yml
development:
access_key_id: AWS_ACCESS_KEY_ID
secret_access_key: AWS_SECRET_KEY_ID
production:
access_key_id: AWS_ACCESS_KEY_ID
secret_access_key: AWS_SECRET_KEY_ID
Модель
has_attached_file :logo, styles: { medium: '300x300>', thumb: '150x150>' },
:storage => :s3,
:s3_credentials => "#{Rails.root}/config/aws.yml",
:path => ":class/:attachment/:token/:style.:extension",
:bucket => 'name_of_bucket',
default_url: '/images/missing.jpg'
Теперь я получаю следующую ошибку.
cannot load such file -- aws-sdk (You may need to install the aws-sdk gem)
Я уже установил драгоценные камни и перезапустил сервер. Я просмотрел похожие темы, но не смог решить проблему.
Я не уверен, почему получаю эту ошибку. Любая помощь будет оценена по достоинству.





Ваш Gemfile заявляет:
gem 'aws-sdk-s3'
В то время как сообщение об ошибке говорит:
cannot load such file -- aws-sdk (You may need to install the aws-sdk gem)
Вы пробовали поместить gem 'aws-sdk' в свой Gemfile?
Я знаю, что вы просто хотите использовать s3, а не весь aws-sdk, но, возможно, для paperclip необходимо загрузить несколько библиотек больше, чем установленный минимум.
Для меня это было из-за того, что я неправильно добавил amazon s3_region Если вы используете хранилище S3, aws-sdk> = 2.0.0 требует, чтобы вы сделали несколько небольших изменения:
s3_region:public_read нужно изменить на
public-read.