2015-04-20 73 views
2

我想使用雾上传文件到S3。我一直在关注这里发现的雾教程:http://fog.io/storage/但我收到一个错误。有什么明显的,我失踪?我的连接对象是有效的,我可以浏览目录和现有的文件。我可以创建一个新的文本文件。但是当我尝试上传一个mp3时,我得到一个ssh错误。我很乐意提供关于我的设置的更多信息,我只是不知道什么是相关的。雾OpenSSL错误

当我运行这个Ruby代码:

connection.directories[1].files.create(key: 'test.mp3', body: File.open("/path/to/test.mp3"), public: true) 

我得到这个错误:

Excon::Errors::SocketError: uninitialized constant OpenSSL::OPENSSL_LIBRARY_VERSION (NameError) 
from /Users/me/.rbenv/versions/2.0.0-p451/lib/ruby/gems/2.0.0/gems/excon-0.45.2/lib/excon/socket.rb:245:in `rescue in block in write_nonblock' 

我使用Ruby 2.0.0-P451

我在OSX 10.9.5

这里是我的gemfile中所有有雾的东西:

fog (1.28.0) 
     fog-atmos 
     fog-aws (~> 0.0) 
     fog-brightbox (~> 0.4) 
     fog-core (~> 1.27, >= 1.27.3) 
     fog-ecloud 
     fog-json 
     fog-profitbricks 
     fog-radosgw (>= 0.0.2) 
     fog-riakcs 
     fog-sakuracloud (>= 0.0.4) 
     fog-serverlove 
     fog-softlayer 
     fog-storm_on_demand 
     fog-terremark 
     fog-vmfusion 
     fog-voxel 
     fog-xml (~> 0.1.1) 
     ipaddress (~> 0.5) 
     nokogiri (~> 1.5, >= 1.5.11) 
    fog-atmos (0.1.0) 
     fog-core 
     fog-xml 
    fog-aws (0.1.1) 
     fog-core (~> 1.27) 
     fog-json (~> 1.0) 
     fog-xml (~> 0.1) 
     ipaddress (~> 0.8) 
    fog-brightbox (0.7.1) 
     fog-core (~> 1.22) 
     fog-json 
     inflecto (~> 0.0.2) 
    fog-core (1.29.0) 
     builder 
     excon (~> 0.38) 
     formatador (~> 0.2) 
     mime-types 
     net-scp (~> 1.1) 
     net-ssh (>= 2.1.3) 
    fog-ecloud (0.0.2) 
     fog-core 
     fog-xml 
    fog-json (1.0.0) 
     multi_json (~> 1.0) 
    fog-profitbricks (0.0.1) 
     fog-core 
     fog-xml 
     nokogiri 
    fog-radosgw (0.0.3) 
     fog-core (>= 1.21.0) 
     fog-json 
     fog-xml (>= 0.0.1) 
    fog-riakcs (0.1.0) 
     fog-core 
     fog-json 
     fog-xml 
    fog-sakuracloud (1.0.0) 
     fog-core 
     fog-json 
    fog-serverlove (0.1.1) 
     fog-core 
     fog-json 
    fog-softlayer (0.4.1) 
     fog-core 
     fog-json 
    fog-storm_on_demand (0.1.0) 
     fog-core 
     fog-json 
    fog-terremark (0.0.4) 
     fog-core 
     fog-xml 
    fog-vmfusion (0.0.1) 
     fission 
     fog-core 
    fog-voxel (0.0.2) 
     fog-core 
     fog-xml 
    fog-xml (0.1.1) 
     fog-core 
     nokogiri (~> 1.5, >= 1.5.11) 

OpenSSL的版本:

openssl 
OpenSSL> version 
OpenSSL 0.9.8zd 8 Jan 2015 

回答

2

抱歉听​​到您有这个问题。我们在openssl版本的excon中添加了一个check,因为openssl有一个带有bug的版本(所以我们将它设置为当你更新bug时提供更好的警告/指令)。我们没有意识到这个常数在某些情况下可能没有定义。我更新了代码以跳过检查,当常量未定义并释放excon 0.45.3时,如果更新为应避免此问题。所有这一切说,我认为还值得注意的是,你在那里的openssl版本已经过时了(尽管它可能不是很明显,因为backported安全修复)。在1.0.1甚至1.0.2系列中碰到某些东西(可能使用包管理器,我使用自制软件)可能是一个好主意。这也可能解决你的问题,但不管是否是一个好主意。

希望有帮助!