无法在ruby中使用openssl
我在我的虚拟机ubuntu12.04lts中安装了openssl。
当我运行gem命令时,它会出错。
错误:执行gem时(Gem :: Exception)
无法要求openssl。 安装openSSL并重建ruby(首选)或使用非HTTPs源
我还测试了irb模式下的openssl。 它给出了错误。
Loaderror:无法加载此类文件–openssl
来自/usr/local/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55`requiret’
我有openssl
$openssl version OpenSSL 1.0.1 14 mar 2012
如何修复错误?
注意:不推荐使用rubygems.org的电话 – 请谨慎使用!
在从源代码构建ruby2.1.0p0之后,我在Mac OSX上遇到了同样的问题。 我已经安装了openssl。 似乎gem中的参考需要刷新。 我跑了:
gem source -r https://rubygems.org/
删除
其次是
gem source -a https://rubygems.org/
阅读
在此之后,我能够成功运行gems install bundler
。
如果您遇到更多错误,可以在ruby下载的dir /中尝试./configure --with-openssl-dir=/usr/local/ssl
。
我在使用debian时遇到了这个错误,其中openssl在/ usr / bin中。
根据jspacek的建议,我使用以下方法重新配置了ruby:
./configure --with-openssl-dir=/usr/bin
在make和sudo make install之后,我能够安装rails。
确保安装了libssl-dev:
dpkg -s libssl-dev
如果没有,安装它:
sudo apt-get -y install libssl-dev
我将此答案留给未来的Google员工参考:
在终端(OSX)中键入所有这些命令只是为了确保你已经完成了所有事情(这最终对我有用)
rvm get stable brew update brew doctor brew install openssl rvm install ruby-2.1 (or whatever version) rvm use (ruby version here) ie rvm use ruby-2.1 rvm gemset create NAME ie rvm gemset create rails41 gem install rails -v 4.1
最后…
正如许多评论者指出的那样 – 在安装rails(或其他gem)之前编译ruby之前需要安装OpenSSL
如果其他人遇到此问题,请尝试重新安装包含openssl的Ruby版本
brew install openssl rvm reinstall 2.4.0 --with-openssl-dir=`brew --prefix openssl`
您可能已经有openssl – 所以您可以忽略第一步。 这对我有所帮助。
您可能在安装OpenSSL之前从源代码构建了Ruby。 确保安装它,然后尝试重新配置和重建Ruby。
运行sudo apt-get install libssl-dev libreadline-dev libgdbm-dev
之后重建Ruby sudo apt-get install libssl-dev libreadline-dev libgdbm-dev
可以解决这个问题。
我在这里找到了解决方案。
对我来说,这是一个缺少依赖的情况。
我以为我有安装ruby所需的所有依赖项,但我也得到一个openSSL和readline错误。
我试图在没有root权限的情况下使用RVM安装ruby但失败了但是给了我一个缺少依赖项的列表。 然后,我使用包管理器安装了依赖项。 然后我重新尝试从一开始就从源代码安装ruby,一切正常
对我来说,缺少的依赖关系是:
patch libyaml-devel autoconf gcc-c++ readline-devel libffi-devel openssl-devel automake libtool bison sqlite-devel
但它们可能与你不同。
更新:我原本不记得我在哪里找到了这个列表,但快速搜索在以下页面上找到了类似的列表,这也可能对您有所帮助:
https://www.digitalocean.com/community/tutorials/how-to-install-ruby-on-rails-on-centos-6-with-rvm
我在使用RVM安装Ruby时遇到此错误。 没有任何效果。 我切换到rbenv 。 问题解决了!
这些步骤对我有用:
-
修复了ruby安装:
brew升级openssl; openssldir =
which openssl
rvm重新安装ruby-2.4.2 –with-openssl-dir = $ openssldir -
删除并重新添加了gem的来源
gem资源-r https://rubygems.org/ gem sources –add https://rubygems.org/
你使用RVM吗?
如果没有,请尝试使用它,看看它是否解决了您的问题。
- OpenSSL :: SSL :: SSLError:SSL_connect SYSCALL返回= 5 errno = 0 state = SSLv3读取服务器hello A
- 使用JS中的SJCL和Ruby中的OpenSSL进行椭圆曲线加密
- SSLError:主机名“WXYZ”与服务器证书不匹配
- 由于windows中的openssl / ETimedout,gem install rails无法正常工作
- 使用Ruby 1.9.3时“证书validation失败”OpenSSL错误
- 如何使Ruby AES-256-CBC和PHP MCRYPT_RIJNDAEL_128一起发挥得很好
- 使用任何东西在Ruby中的Objective-C / Decrypt中加密
- Lion:RVM安装rubies的问题 – 与openssl相关的问题
- 为什么本站点的ECC-DH对称密钥与OpenSSL不同