未初始化的常量 Aws::VERSION - Spree

uninitialized constant Aws::VERSION - Spree

我正在尝试将 Spree 图像上传到 S3。但我很难做到。

我收到这个错误:

   raise e
        end
        if Gem::Version.new(Aws::VERSION) >= Gem::Version.new(2) &&
           Gem::Version.new(Aws::VERSION) <= Gem::Version.new("2.0.33")
          raise LoadError, "paperclip does not support aws-sdk versions 2.0.0 - 2.0.33.  Please upgrade aws-sdk to a newer version."
        end

据我了解,aws 版本需要高于 2.0.33,但如您所见,这是我的 gemfile

#aws
gem 'aws-sdk', '~> 3'

我也没有 gem paperclip。需要加一个吗?

好的,"fixed it"。是回形针和最新版aws的问题。

有两个解决方法:

第一个:

gem 'aws-sdk', '< 3.0'

第二个:

# config/initializers/aws.rb
Aws::VERSION =  Gem.loaded_specs["aws-sdk"].version

继续使用 aws-sdk 版本 > 3.0

只需将此添加到 config/initializers/aws.rb

Aws::VERSION =  Gem.loaded_specs["aws-sdk"].version

如果 aws.rb 不存在,请创建一个!