【问题标题】:Loading issue when using amazon sdk gem使用 amazon sdk gem 时的加载问题
【发布时间】:2019-04-09 13:51:53
【问题描述】:

我正在尝试将 amazon s3 集成到我的项目中。 Gemfile如下。

gem 'paperclip', '~> 5.0.0'
gem 'aws-sdk-s3'

开发.rb

    config.paperclip_defaults = {
      :storage => :s3,
      :bucket => 'name_ofbucket'
    }
    Paperclip.options[:command_path] = "/usr/local/bin/"

配置/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'

现在我收到以下错误。

无法加载此类文件 -- aws-sdk(您可能需要安装 aws-sdk gem)

我已经安装了 gems 并重新启动了服务器。 我经历了类似的线程,但无法解决问题。

我不确定为什么会收到此错误。任何帮助,将不胜感激。

【问题讨论】:

    标签: ruby-on-rails amazon-web-services amazon-s3 paperclip


    【解决方案1】:

    您的 Gemfile 声明:

    gem 'aws-sdk-s3'
    

    而错误消息说:

    无法加载此类文件 -- aws-sdk(您可能需要安装 aws-sdk gem)

    您是否尝试将gem 'aws-sdk' 放入您的 Gemfile 中?

    我知道您只想使用s3 而不是整个aws-sdk,但也许paperclip 需要加载比最低限度更多的库。

    【讨论】:

      【解决方案2】:

      对我来说,这是因为我添加了 amazon s3_region 错误 如果你使用 S3 存储,aws-sdk >= 2.0.0 需要你做一些小的 变化:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-12-11
        • 1970-01-01
        • 1970-01-01
        • 2015-03-16
        • 2013-10-23
        • 1970-01-01
        • 2017-04-17
        相关资源
        最近更新 更多