2016-02-01 8 views
24

opensslのはMac OS Xエルキャピタンの最新バージョンをインストールする方法は、しかし、それは言って戻ってくる:私は、OpenSSL v1.0.2fをダウンロードしてインストールする<code>brew install openssl</code>を使用している

A CA file has been bootstrapped using certificates from the system 
keychain. To add additional certificates, place .pem files in 
    /usr/local/etc/openssl/certs 

and run 
    /usr/local/opt/openssl/bin/c_rehash 

This formula is keg-only, which means it was not symlinked into /usr/local. 

Apple has deprecated use of OpenSSL in favor of its own TLS and crypto libraries 

Generally there are no consequences of this for you. If you build your 
own software and it requires this formula, you'll need to add to your 
build variables: 

    LDFLAGS: -L/usr/local/opt/openssl/lib 
    CPPFLAGS: -I/usr/local/opt/openssl/include 

を、常に私はopenssl version -aそれを私に知らせる:

OpenSSL 0.9.8zg 14 July 2015 
built on: Jul 31 2015 
platform: darwin64-x86_64-llvm 
options: bn(64,64) md2(int) rc4(ptr,char) des(idx,cisc,16,int) blowfish(idx) 
compiler: -arch x86_64 -fmessage-length=0 -pipe -Wno-trigraphs -fpascal-strings -fasm-blocks -O3 -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DL_ENDIAN -DMD32_REG_T=int -DOPENSSL_NO_IDEA -DOPENSSL_PIC -DOPENSSL_THREADS -DZLIB -mmacosx-version-min=10.6 
OPENSSLDIR: "/System/Library/OpenSSL" 

古いバージョンを新しいものに置き換えるにはどうすればよいですか?私はこれを行う方法をたくさん検索しましたが、オンラインソリューションは私のために動作していないようです...

+0

解決しましたか? – ksl

+1

@kslいいえ! :/答えのどれも私のために働かなかった。 – Tometoyou

答えて

-3

潜在的な問題が気にならない場合は、を/usr/localにリンクすると実行できます警告メッセージで強調表示されます。そうでなければ、あなたのパスにOpenSSLのbinディレクトリを追加することができます。

export PATH=$(brew --prefix openssl)/bin:$PATH 
+0

いいえ。もしあなたがこれをするなら、自作はあなたに叫ぶでしょう。 keg-only依存関係については、http://stackoverflow.com/a/17016758/17597を参照してください。上の答えで述べたように、 '--force'を使って上書きすることができますが、そうすることで起こり得る結果を理解する必要があります。 – hakamadare

-1

新しいものと古いバージョンを置き換えるには、あなたはそれのためにリンクを変更する必要があります。ターミナルにそのコマンドを入力します。

brew link --force openssl 

opensslのバージョンをもう一度確認してください。それは変更する必要があります。

+0

'brew link 'の後、少なくとも私にとってOpenSSLは更新されているようです。しかし、何かが「正しい」ものではありません。私は 'brew doctor'を実行しました。* keg-only *の式があります。これはすべての出力の部分文字列です:' keg-only式によって提供されるバイナリはシステムバイナリを無効にします。 他の奇妙な結果。 'brew unlink openssl'を実行します。無視する必要がありますか? –

+0

opensslが正しく動作するなら、無視することができます。 – alperozaydin

+17

@Knaakこれは、Homebrew 0.9.9のEl Capitanでは動作しません。それは、 '警告:拒否するリンク:openssl'というメッセージで応答します。 – ksl

-1

私は9月下旬に発売された自作の1.0.x、エルキャップ+自作1.0.xの

アップグレードを実行している問題を再現することはできません。 Specific changes were made in the way openssl is linked。プロジェクトは1.0に達したので、より堅牢なリリーススケジュールになっています。

brew uninstall openssl 
brew update && brew upgrade && brew cleanup && brew doctor 

あなたは先に進む前にbrew doctorが提起したすべての問題を修正する必要があります。

brew install openssl 

注:アップグレード自作は彼らの最新バージョンへのすべてのインストール済みのパッケージを更新します。

+4

いいえ、しないでください。すべてをアップグレードします。 –

+0

更新に関する免責事項が追加されました。時間が経つにつれて、自作ソフトウェアをバージョン1.xにアップグレードすることがますます必要になってくるでしょう。私の言う限りでは、問題は自家製1.xで解決されています。 –

+0

ありがとうございます。バージョン1.xでは、 'brew upgrade'はすべてをアップグレードしませんか? –

15

のみ

export PATH=$(brew --prefix openssl)/bin:$PATH in ~/.bash_profile 

私のために働いています! mipadiありがとうございます。

+1

答えとして「ありがとう」を追加しないでください。十分な[評判](http://stackoverflow.com/help/whats-reputation)があれば、あなたは[質問と回答を投票する]ことができます(http://stackoverflow.com/help/privileges/vote-あなたが助けてくれたこと)。 - [レビューの投稿](レビュー/低品質の投稿/ 14379655) – Wildcat

+0

私が好きな人には、最後のopensslをリンクする方法について読んだことをすべて試しました。 – Olivier

+0

これは、SIPを無効にすることなく、osX Sierraで私の仕事をしてくれた唯一のものでした。ありがとう! –

0

opensslがkeg-onlyについての情報を検索したところ、このページに達しました。 Homebrewが今この行動をとっている理由を理解していると思います。私のソリューションは、あなたのために働く可能性があります

  • が新しいopensslコマンドを利用できるようにするには、次のコマンドを使用します(あなたは/ usr/local/binを置くためにPATHを調整していると仮定する前には/ usr/binに): ln -s /usr/local/opt/openssl/bin/openssl /usr/local/bin/

  • 自作のアドバイスに従ってください。あるいは -I/usr/local/opt/openssl/include -L/usr/local/opt/openssl/lib

  • を使用し、opensslのでコンパイルする場合、あなたはあなたの.bash_profileの中に以下の行を入れたりすることにより、これらの設定を永続的にすることができます。bashrcには: export CPATH=/usr/local/opt/openssl/include export LIBRARY_PATH=/usr/local/opt/openssl/lib

4

あなたはOpenSSLが/usr/local/include最初にインストールしていることを確認して、シンボリックリンクを作成してみてください。

ln -s /usr/local/Cellar/openssl/{version}/include/openssl /usr/local/include/openssl 

詳細はOpenssl with El Capitanです。

+0

あなたのリンクは存在しません。 – Hauke

+1

@Hauke Updated! – zlwaterfield

+0

これは私の問題を解決し、他のすべてを1時間以上試した後、ありがとう。 – esd

3

は、以下のコマンドを実行します。

brew update 
brew install openssl 
echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.bash_profile 
source ~/.bash_profile 

あなたは、CLI(コマンドライン/ターミナル)から最新のOpenSSLのバージョンがインストールおよびアクセスを持つことになります。 3番目のコマンドは、エクスポートパスを.bash_profileに追加するので、新しくインストールされたバージョンのopensslは、システムの再起動後もアクセス可能になります。

+1

'$ openssl version'を実行すると、' OpenSSL 0.9.8zh 2016年1月14日 'が表示されますが、' $ brew install openssl'を実行すると、警告:openssl 1.0.2lが既にインストールされています。これは2つのバージョンがインストールされていることを意味しますか? – Joshua

+3

あなたのシステムには2つのバージョンのopensslがあります。 1つはMacではデフォルトで、もう1つはbrewでインストールしたものです。上記の3番目と4番目のコマンドを実行して、コマンドラインからopensslの最新バージョン(1.0.2l)にアクセスします。 – shaunthomas999

関連する問題