PATHの通し忘れで苦しんだメモ。
igrc.hatenablog.com
↑で苦しんだ後の話。
基本的な話だと思いますが私は苦しんだのでメモ。
OpenSSLでドタバタしてたら以下のエラーが出るようになってました。
# openssl version openssl: symbol lookup error: openssl: undefined symbol: CMS_Attributes_Verify_it
とりあえずPATHを確認。
$ which openssl /usr/local/bin/openssl # /usr/local/bin/openssl version /usr/local/bin/openssl: symbol lookup error: /usr/local/bin/openssl: undefined symbol: CMS_Attributes_Verify_it # /usr/bin/openssl version OpenSSL 1.0.1f 6 Jan 2014
/usr/bin/openssl
にPATHを通せばいいみたいです。
PATHを設定します。
$ PATH=$PATH:/usr/bin/openssl $ export PATH $ which openssl /usr/local/bin/openssl
???
パス(PATH)の確認と設定方法は? - Pocketstudio.jp Linux Wiki
をちゃんと読んだら、
パスの優先度は左の方が『 優先 』されます。 コマンド『 echo $PATH 』あるいは『 env | grep PATH 』で出てきた左が優先されます。
たとえば、/usr/local/bin/perl と /usr/bin/perl があるとします。
環境変数 PATH で /usr/local/bin の方が優先されると、実際に実行されるコマンドは /usr/local/bin/perl となります。
としっかり書いてありました。
これを踏まえてやり直します。
$ which openssl /usr/local/bin/openssl $ PATH=/usr/bin:$PATH $ export PATH $ which openssl /usr/bin/openssl $ openssl version OpenSSL 1.0.1f 6 Jan 2014
できました。
ただ、これだけではログインする度にパスを設定しなおさないといけないので.bash_profile
のexport PATH=
以降に/usr/bin
を記述します。
先頭に記述するとその後ろに記述されているrbenvのPATHも書き換わるのでやめておきます。
PATHの優先順位を意識していて、ちゃんとコマンドの意味を理解していればしないミスでした。
気を付けます。