OS Xとかでよくあるネイティブパッケージの参照しちゃう時の回避方法

OS Xでよくあることとして、

1. 例えばNodeとかをビルドする
2. ビルドの際にOS Xに最初から入っているopensslを参照する
3. opensslのVersionが古い
4. Build Faild!

ということはよくあると思う。


対策


/etc/pathsのコマンドの優先順位を変える

- まず、PATHを確認する

$echo $PATH
=>
/usr/bin:/usr/sbin:/usr/local/bin


- この場合、/usr/binが/usr/local/bin/より先に見に行っているので,/etc/pathsを以下のように編集する


$sudo vim /etc/paths

#/usr/local/binを一番上に来るようにする
/usr/local/bin
/usr/bin
/usr/sbin

上記のように書き直した後にterminalで新規作成すると、うまい具合に優先順位が変わる。

こうした後で/usr/local/binにbrewとかで入らないソースからビルドする必要があるものを入れていく。
/usr/binにあるパッケージを上書きとかはどこで参照してるか分からないので極力やらない方がいい。

参考文献

  • 先輩との雑談してて「こうしたらええで」と言われた