Homebrew を使って openssl をインストールしていたのですが、なぜかMacにプリインストールされている openssl をずっと参照していました。確認してみると/usr/local/bin/
に openssl のシンボリックリンクが作成されていません。普通にシンボリックリンク作れば解決なんですが原因がわからないのが嫌だったので調べた結果をまとめておきます。
現在のバージョンを確認します。
$ openssl version OpenSSL 0.9.8za 5 Jun 2014 $ which openssl /usr/bin/openssl
Homebrewでインストールします。
$ brew install openssl
しかし、バージョンが変わりません。参照先も /usr/bin/ のままですね。インストールは正常にされています。
$ openssl version OpenSSL 0.9.8za 5 Jun 2014 $ which openssl /usr/bin/openssl $ ls -l /usr/local/Cellar/openssl total 0 drwxr-xr-x 11 xxxxxx admin 374 11 29 16:48 1.0.1j
シンボリックリンクを確認すると作成されていません。
$ ls -l /usr/local/bin/openssl ls: /usr/local/bin/openssl: No such file or directory
調べた結果どうやらこれが原因のようです。インストールした時のログメッセージにありました。
This formula is keg-only, which means it was not symlinked into /usr/local.
どうやらこのようにシンボリックリンクが作成されないパッケージもあるみたいで、対処するコマンドも用意されてました。link を使ってシンボリックリンクを作成します。openssl は --force オプションを付けないとエラーになります。
$ brew link openssl --force Linking /usr/local/Cellar/openssl/1.0.1j... 1146 symlinks created $ ll /usr/local/bin/openssl lrwxr-xr-x 1 xxxxxx admin 36 11 29 23:50 /usr/local/bin/openssl -> ../Cellar/openssl/1.0.1j/bin/openssl
やっとバージョンが変わりました。
$ openssl version OpenSSL 1.0.1j 15 Oct 2014
これからHomebrewでインストールしたパッケージはちゃんと向き先が変わってるか確認しようと思いました。