无法在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

http://www.itzgeek.com/how-tos/linux/ubuntu-how-tos/install-ruby-on-rails-on-centos-ubuntu-fedora-from-source.html

我在使用RVM安装Ruby时遇到此错误。 没有任何效果。 我切换到rbenv 。 问题解决了!

这些步骤对我有用:

  1. 修复了ruby安装:

    brew升级openssl; openssldir = which openssl rvm重新安装ruby-2.4.2 –with-openssl-dir = $ openssldir

  2. 删除并重新添加了gem的来源

    gem资源-r https://rubygems.org/ gem sources –add https://rubygems.org/

你使用RVM吗?

如果没有,请尝试使用它,看看它是否解决了您的问题。