错误“未初始化的常量AWS(NameError)". [英] Error "uninitialized constant AWS (NameError)"

查看:125
本文介绍了错误“未初始化的常量AWS(NameError)".的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是说AWS未初始化.我使用aws-sdk-core宝石.

It is saying AWS is uninitialized. I am usign the aws-sdk-core gem.

我尝试改用aws-sdk gem,但问题仍然存在.

I tried using the aws-sdk gem instead, and the problem was still there.

这是initializers/aws.rb文件:

This is the initializers/aws.rb file:

AWS.config(:access_key_id => ENV['AWS_ACCESS_KEY_ID'],
                      :secret_access_key => ENV['AWS_SECRET_ACCESS_KEY'])

s3 = AWS::S3.new
AVATAR_BUCKET = s3.buckets[ENV['AVATAR_BUCKET_NAME']]

当我尝试运行服务器或打开控制台时,出现此错误:

When I try running the server or opening the console I get this error:

/initializers/aws.rb:1:in'::未初始化的常量AWS(NameError)

/initializers/aws.rb:1:in `': uninitialized constant AWS (NameError)

推荐答案

您可能会收到此错误,因为您

You might getting this error, because you didn't define the correct aws sdk version in your Gemfile. This can happen while re-bundling old apps with version 1 or 2 installed.

确保要安装哪个版本:

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

# call sdk    
Aws.<whatever>

aws-sdk版本2

gem 'aws-sdk', '~> 2'

# call sdk    
Aws.<whatever>

aws-sdk版本1

# version constraint
gem 'aws-sdk', '< 2'

# or 

# use the v1 gem
gem 'aws-sdk-v1'

# call sdk    
AWS.<whatever>

v1的范围在AWS之下,而v2和v3的范围在Aws =>下,这使您可以并行运行v1和v2.

v1 is scoped under AWS and v2 and v3 scoped under Aws => That allows you to run v1 and v2 side by side.

这篇关于错误“未初始化的常量AWS(NameError)".的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆