cannot load such file -- openssl (LoadError)

Solution 1:

Check what rubies are installed:

rvm list

Then make sure to use one of the installed rubies:

rvm use 1.9.3-p327

And test if openssl is available:

ruby -ropenssl -e "puts :OK"

It will print OK if openssl is enabled, otherwise you will get exception

In case of exception =>

UPDATE:

new version of rvm has improved automation support:

rvm get stable
rvm autolibs enable
rvm reinstall all --force

OLD:

run:

rvm requirements run force
rvm pkg remove

Followed by:

rvm reinstall all --force

This instruction is not OSX specific, it will work on all platforms, although on OSX it will work best with HomeBrew, when it's not installed only list of required software will be shown and you need to install it manually.

Solution 2:

Many years later, the solution is changed because of brew upgrading, this works now:

# pull full brew git repo
git -C "/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core" fetch --unshallow

# generate new brew tap repo
brew tap-new $USER/old-openssl

# extract openssl 1.0.2t forumlar to $USER/old-openssl
brew extract --version=1.0.2t openssl $USER/old-openssl

# install old openssl from $USER/old-openssl repo
brew install [email protected]

# reinstall ruby
rvm reinstall 2.3.4 --with-openssl-dir=`brew --prefix [email protected]`

Solution 3:

Try this.

rvm install ruby-2.0.0-preview1  --with-openssl-dir=$HOME/.rvm/usr --verify-downloads 1

Solution 4:

I uninstalled everything (rvm, rails, ruby, etc) on my macbook.

Installed homebrew

Installed rvm

Ran rvm requirements run force

Ran rvm install rails

rails new sample_app

cd sample_app

Note: source 'https://rubygems.org' is present in Gemfile, openssl is required!

bundle install and it worked!

No need to specify: --with-openssl-dir=$HOME/.rvm/usr

Solution 5:

To resolve this, install openssl (preferably using brew).

Update Xcode to the latest version and enable command line installations using it.

Reinstall rvm using rvm reinstall all

Note that rvm reinstall all --force will delete all your previous installations of binaries/pkgs done using rvm.