【问题标题】:AWS-SDK Rails 3.1 Ruby 1.9.3 Writes failAWS-SDK Rails 3.1 Ruby 1.9.3 写入失败
【发布时间】:2012-02-13 10:01:05
【问题描述】:
我可以从我的亚马逊存储桶中读取,但写入一直失败。
s3 = AWS::S3.new
bucket = s3.buckets['tmp']
obj = bucket.objects["test.rtf"]
obj.write(:file => "/Volumes/.../test.rtf")
它会出现 Seg 错误。没有提供有用的信息来帮助我调试它。有任何想法吗?
我正在使用 AWS-SDK gem、Rails 3.1.3、Ruby 1.9.3
【问题讨论】:
标签:
ruby-on-rails
amazon-s3
amazon-web-services
【解决方案1】:
你在 OSX 上不是吗...
我在 Lion 上的 RVM/FOG(与 AWS 非常相似)/OSX 设置遇到了各种问题。好像和编译器(GCC LLVM)有关。
这是我为构建所做的(至少对我有用):
#!/bin/sh
RUBY_VER=1.9.3-p0
rvm reload
rvm pkg install openssl
rvm remove ${RUBY_VER}
rvm install ${RUBY_VER} --with-openssl-dir=$rvm_path/usr
如果您不使用 RVM,那么这将无济于事。但据我所知,RVM 不是问题。
我还会确保在完成此操作后重新安装我的所有 gem。
【解决方案2】:
事实证明,我的 HTTP/SSL 库已损坏,因为我曾经使用 Port 并切换到 RVM。 Ruby 指向这两个库,而 HTTP/SSL 库导致了错误。我删除 SSL 库并使用 RVM 重新安装它。它解决了错误。