web-dev-qa-db-ja.com

OSXへのopensslのインストール

Rubyアプリで"certificate verify failed (OpenSSL::SSL::SSLError)"を取得していて、Mac OS X(Mountain Lion)システムで古いopensslを更新するときが来たと判断しました。

ここ から最新のソースを取得し、通常の

  • ./darwin64-x86_64-ccを構成します
  • make
  • テストを行う
  • Sudo make install

...そしてすべてが明らかなエラーなしで完了しました。しかし、新しいopensslが古いopensslに取って代わっていないことに気づきました。

$ which openssl
/usr/bin/openssl
$ /usr/bin/openssl version
OpenSSL 0.9.8x 10 May 2012
$ /usr/local/ssl/bin/openssl version
OpenSSL 1.0.1e 11 Feb 2013

私は、既存のものを壊すのを恐れて、重要なシステムファイルをいじり回すことをためらっています。推奨されるアプローチは何ですか?/usr/bin/opensslを/ usr/local/ssl/binバージョンへのシンボリックリンクに置き換えることを考えています。それはうまくいくでしょうか?

8
fearless_fool

システムコピーよりもローカルコピーを優先するには、それをシェルPATH変数に追加する必要があります。

export PATH="/usr/local/ssl/bin:$PATH"

シェルを起動するたびにこれを実行する場合は、ホームディレクトリの.bash_profileに追加するだけです。

ただし、Rubyは新しいOpenSSLに対して再コンパイルする必要があるため、これで問題が解決するわけではありません(新しいOpenSSLに付属する更新されたルート証明書ファイルでこれが仮想的に修正されると想定します)問題) rvm または rbenv のいずれかをインストールし、Rubyを再構築することをお勧めします。これらのツールはどちらも homebrew を介してopensslをインストールすることをお勧めします。 =。

9
Paul Kehrer