Ruby and “You must recompile Ruby with OpenSSL sup

2020-02-02 06:32发布

Using rvm I upgraded my ruby to 1.9.3-p392, also added 2.0.0, anytime I try to use this version when I run my bundle command I get this error.

Could not load OpenSSL.
You must recompile Ruby with OpenSSL support or change the sources in your Gemfile from 'https' to 'http'. Instructions for compiling with OpenSSL using RVM are
available at rvm.io/packages/openssl.

I have followed several different instructions on how to fix this. I have tried removing the version and installing it with the rvm options

--with-openssl-dir=$HOME/.rvm/usr

I have installed OpenSSL with rvm, and macports. Both have not helped the problem. I even changed the file location of the ssl cert using this:

export SSL_CERT_FILE=/Users/DarkLord/.rvm/usr/ssl/cert.pem

No matter what I do I continue to get the error. Can someone please help me fix this?

10条回答
兄弟一词,经得起流年.
2楼-- · 2020-02-02 06:38

This works for me:

rvm get stable

brew install libyaml

rvm pkg install openssl

rvm install ruby-2.0.0 --with-openssl-dir=$HOME/.rvm/usr

rvm use ruby-2.0.0

All credits go to https://coderwall.com/p/tptocq

查看更多
仙女界的扛把子
3楼-- · 2020-02-02 06:42

In my case:

Problem: After installing ruby-2.3.1, I ran the command bundle install and then the error occurred.

Solution:

  • I first installed OpenSSL on my machine. $ brew install openssl
  • And then, reinstalled the ruby version I require (2.3.1) with the openssl.

    $ rvm reinstall 2.3.1 --with-openssl-dir=/usr/local/opt/openssl

And this solved my problem!

查看更多
Juvenile、少年°
4楼-- · 2020-02-02 06:42

The following steps worked for me.

First ensure openssl is installed by running brew install openssl, then reinstall the ruby version using rvm, but this time around, you have to pass the with-opt-dir flag pointing to the location where openssl was installed on your machine (use command which openssl to find this location).

rvm install 1.9.3-p392 --with-openssl-dir=/usr/local/opt/openssl
查看更多
ゆ 、 Hurt°
5楼-- · 2020-02-02 06:45

This helps me install 1.9.3-head on Mac:

rvm get latest    
brew install openssl    
rvm reinstall 1.9.3-head --with-openssl-dir=`brew --prefix openssl`
查看更多
虎瘦雄心在
6楼-- · 2020-02-02 06:48

To get this working again I had to install homebrew and move my mac ports out of the way. Then do the following after removing 1.9.3-p392 and 2.0.0-p0:

rvm get head --autolibs=3
rvm install 1.9.3 --with-opt-dir=/usr/bin
rvm install 2.0.0

There was something not working with my mac ports and openssl and make and configure. This was the only way I was able to get rvm to install ruby again with out getting openssl issues or make/configure issues.

查看更多
放荡不羁爱自由
7楼-- · 2020-02-02 06:49

On macOS 10.14, Ruby 2.5.3, and OpenSSL 1.0.2n this worked for me:

./configure --with-openssl --with-openssl-dir=/usr/local/ssl

but I was only trying what the error messages were telling me:

*** Following extensions are not compiled:
openssl:
    Could not be configured. It will not be installed.
    /Users/brian/Desktop/Ruby/ruby-2.5.3/ext/openssl/extconf.rb:97: OpenSSL library could not be found. You might want to use --with-openssl-dir=<dir> option to specify the prefix where OpenSSL is installed.
    Check ext/openssl/mkmf.log for more details.
*** Fix the problems, then remove these directories and try again if you want.
make[1]: *** [note] Error 1
查看更多
登录 后发表回答