web-dev-qa-db-ja.com

RVMとOpenSSLに関するトラブル

同僚のために新しいmacbookをセットアップしようとしています。うまくいかない。

最初にOpenSSLをインストールします。

Heathers-MacBook-Pro:~ heather$ rvm pkg install openssl
Fetching openssl-1.0.1c.tar.gz to /Users/heather/.rvm/archives
######################################################################## 100.0%
Extracting openssl to /Users/heather/.rvm/src/openssl-1.0.1c
Configuring openssl in /Users/heather/.rvm/src/openssl-1.0.1c.
Compiling openssl in /Users/heather/.rvm/src/openssl-1.0.1c.
Installing openssl to /Users/heather/.rvm/usr

Please note that it's required to reinstall all rubies:

    rvm reinstall all --force

Updating openssl certificates

次に、Ruby with openssl ...をインストールしようとします...

Heathers-MacBook-Pro:website heather$ rvm install 1.9.3 --with-openssl-dir=$HOME/.rvm/usr
Fetching yaml-0.1.4.tar.gz to /Users/heather/.rvm/archives
Extracting yaml to /Users/heather/.rvm/src/yaml-0.1.4
Configuring yaml in /Users/heather/.rvm/src/yaml-0.1.4.
Compiling yaml in /Users/heather/.rvm/src/yaml-0.1.4.
Installing yaml to /Users/heather/.rvm/usr
Installing Ruby from source to: /Users/heather/.rvm/rubies/Ruby-1.9.3-p392, this may take a while depending on your cpu(s)...
Ruby-1.9.3-p392 - #downloading Ruby-1.9.3-p392, this may take a while depending on your connection...
Ruby-1.9.3-p392 - #extracting Ruby-1.9.3-p392 to /Users/heather/.rvm/src/Ruby-1.9.3-p392
Ruby-1.9.3-p392 - #extracted to /Users/heather/.rvm/src/Ruby-1.9.3-p392
Ruby-1.9.3-p392 - #configuring
Ruby-1.9.3-p392 - #compiling
Ruby-1.9.3-p392 - #installing 
Removing old Rubygems files...
Installing rubygems-1.8.25 for Ruby-1.9.3-p392 ...
Installation of rubygems completed successfully.
Saving wrappers to '/Users/heather/.rvm/bin'.
Ruby-1.9.3-p392 - #adjusting #shebangs for (gem irb erb ri rdoc testrb rake).
Ruby-1.9.3-p392 - #importing default gemsets, this may take time ...
Install of Ruby-1.9.3-p392 - #complete 

Heathers-MacBook-Pro:website heather$ bundle update
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.

ところで、gemファイルは "source https://rubygems.org "

アイデア?

22
phil swenson

これを試して:

rvm get head
rvm pkg remove
rvm requirements run  # if brew gives you warnings about formulas to install, run "brew install" for each before moving on.

rvm reinstall [the version you need (i.e: 2.0.0)]
18
fmendez

OPは実際に私の日を救った!私の場合:

$ rvm pkg install openssl
$ rvm remove 2.4
$ rvm install 2.4 --with-openssl-dir=$HOME/.rvm/usr
$ gem install bundler
46
phq

Homebrewを使用してmacOS Mojave(10.14.2)にRuby 2.2をインストールします。

Install Homebrew

brew install openssl
rvm install 2.2 --with-openssl-dir=/usr/local/opt/openssl

rvm pkgは使用しないでください 非推奨rvm autolibs enabledを使用してください。

16
guapolo

ArchLinux wiki で詳しく説明されています:

2.4より古いRubyバージョンにはOpenSSL 1.0が必要ですが、RVMはOpenSSL 1.1でビルドしようとします。

だからあなたは(最も簡単に)行うことができます:

$ rvm pkg install openssl
$ rvm reinstall 2.3.5 --with-openssl-dir=$HOME/.rvm/usr

ArchLinux wiki で他のソリューションを見ることができます。

15
noraj

ここに私がrvmをインストールする方法とRuby 2.3をMacでCatalinaにインストールしました。インストールされたrvmのバージョンは1.29.9でした。OpenSSL1.0.2(ダウングレード)をインストールする必要がありました。 "ipv4"に注意してくださいgpgコマンドで。

gpg --keyserver hkp://ipv4.pool.sks-keyservers.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
\curl -sSL https://get.rvm.io | bash -s stable

Openssl 1.0.2を https://www.openssl.org/source/ からダウンロードします。

tar -xzf openssl-1.0.2t.tar.gz
cd openssl-1.0.2t
./Configure darwin64-x86_64-cc --prefix=/usr/local/opt/[email protected]
make
make test
Sudo make install

rvm install 2.3.3 --with-openssl-dir=/usr/local/opt/[email protected]
Ruby -v
Ruby -ropenssl -e 'puts OpenSSL::OPENSSL_VERSION'              
>> OpenSSL 1.0.2t  10 Sep 2019
10
Chris Hobbs

MacOS 10.12.2では、brewを介してopensslをインストールしても機能しません。修正するには、次を実行:

export PKG_CONFIG_PATH=/usr/local/opt/openssl/lib/pkgconfig:/usr/local/lib/pkgconfig

そして、Rubyをrvm経由でインストールします。

編集:問題の背後にある理由についての詳細 ここ

6
blazejmar

Openssl 1.1とRuby 2.3をMac MojaveのRVM経由で使用している場合、次のコマンドを試すことができます。問題はRuby 2.3がopenssl 1.1

rvm pkg install openssl
PKG_CONFIG_PATH=$HOME/.rvm/usr/lib/pkgconfig rvm reinstall 2.3.3 --with-openssl-dir=$HOME/.rvm/usr
5
zhongxiao37

だからこれは私のために働きました:

rvm pkg install openssl
rvm reinstall all --force

私もrvm autolibs rvm_pkg readlineサポート用。

3
Dorian

opensslバージョン:1.0.2k

これは私のために働きました:

brew reinstall openssl
2
ruslan

MacOSのrvmの場合

まず、opensslがインストールされているかどうかを確認します。次のようなものが表示されます。

$ brew --prefix openssl
/usr/local/opt/[email protected]

Opensslがインストールされていない場合は、インストールします。

$ brew install openssl
$ brew unlink openssl
$ brew link --force openssl

複数のopensslをインストールしている場合は、1つを除くすべてを削除して、作業を簡単にすることを検討してください。

$ brew cleanup openssl
$ brew list --versions openssl
$ brew uninstall <unwanted-openssl-version-here>

Rubyバージョンを再インストールし、目的のopensslパスを指定します。

$ rvm reinstall <your-version-here> --with-openssl-dir=`brew --prefix openssl`

最後に、Rubyがリンクされたのと同じopensslでコンパイルされていることを確認してください。同じバージョンが2回表示される場合は、すべて設定されているはずです。

$ Ruby -ropenssl -e'puts OpenSSL::OPENSSL_VERSION, OpenSSL::OPENSSL_LIBRARY_VERSION'
OpenSSL 1.1.1d  10 Sep 2019
OpenSSL 1.1.1d  10 Sep 2019

後で他のバージョンのRubyをインストールする場合は、同じ--with-openssl-dir引数を渡す必要があります。または、bashプロファイルで次の変数を設定できると思います。

export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:$(brew --prefix openssl)/lib/pkgconfig"
export LIBRARY_PATH="$LIBRARY_PATH:$(brew --prefix openssl)/lib"

上記が機能しない場合は、bashプロファイルから行を削除し、上記のように--with-openssl-dir引数を使用します。

参照: https://github.com/rvm/rvm/issues/4562 参照: https://bugs.Ruby-lang.org/issues/126

0
Ben Amos

これが私のために働いたものです:

brew install rbenv/tap/[email protected]
rvm reinstall 1.9.3-p551 --with-openssl-dir='/usr/local/opt/[email protected]'
gem update --system

乾杯!

0
Hernan