同僚のために新しい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 "
アイデア?
これを試して:
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)]
OPは実際に私の日を救った!私の場合:
$ rvm pkg install openssl
$ rvm remove 2.4
$ rvm install 2.4 --with-openssl-dir=$HOME/.rvm/usr
$ gem install bundler
Homebrewを使用してmacOS Mojave(10.14.2)にRuby 2.2をインストールします。
brew install openssl
rvm install 2.2 --with-openssl-dir=/usr/local/opt/openssl
rvm pkg
は使用しないでください 非推奨 、rvm autolibs enabled
を使用してください。
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 で他のソリューションを見ることができます。
ここに私が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
MacOS 10.12.2では、brewを介してopensslをインストールしても機能しません。修正するには、次を実行:
export PKG_CONFIG_PATH=/usr/local/opt/openssl/lib/pkgconfig:/usr/local/lib/pkgconfig
そして、Rubyをrvm経由でインストールします。
編集:問題の背後にある理由についての詳細 ここ 。
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
だからこれは私のために働きました:
rvm pkg install openssl
rvm reinstall all --force
私もrvm autolibs rvm_pkg
readlineサポート用。
opensslバージョン:1.0.2k
これは私のために働きました:
brew reinstall openssl
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
これが私のために働いたものです:
brew install rbenv/tap/[email protected]
rvm reinstall 1.9.3-p551 --with-openssl-dir='/usr/local/opt/[email protected]'
gem update --system
乾杯!