Homebrewでインストールしたものを優先的に使う

November 18, 2010

1.9.0 — Homebrew から Linux と Windows もサポートされ始めましたが、以下は macOS を対象に書いています。- 2019/02/22 追記

Homebrew でインストールしたけど、どうも元から入っている古いバージョンの方が使われている。そんな時に確認するための記事です。正しくパスを通してやれば解決しますが、始めたばかりの頃は何のことだかよくわかりませんでした。

パスを通す:コンピュータにコンピュータ上のどこから優先的にそのコマンドを探すか教えてあげる事。

まずは確認

Homebrew から svn を入れたけどどうもバージョンが低い、まずは確認。この例ではwitchというコマンドを使って、コンピュータ上のどこにあるsvnコマンドを使う設定になっているか確認してます。

$ which svn
/usr/bin/svn

これは最初から入ってる svn

$ svn --version
svn, version 1.6.5 (r38866)
compiled Oct 16 2009, 02:54:10

Homebrew でインストールした svn 。Homebrew ではデフォルトで/usr/local/bin以下にインストールされる。それを直接指定してバージョンを確認。

$ /usr/local/bin/svn --version
svn, version 1.6.13 (r1002816)
compiled Nov 10 2010, 18:21:15

それぞれ正しくインストールはされている。問題は正しくパスが通せていないことにありそう。

パスを確認

printenvで設定されている環境変数を確認

$ printenv PATH
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin

設定を変更

どんな方法でも良いので、.bashrcを開いて編集

$ vi ~/.bashrc

以下の例では/usr/local/bin:を一番左に追記した。(左から優先度が高い):は区切り文字でつまり以下の順番で探すことをコンピュータに教えている

  1. /usr/local/bin
  2. /usr/bin
  3. /bin
  4. /usr/sbin
  5. /sbin
  6. /usr/X11/bin
PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11/bin

人によって違うこともあると思うけど、Homebrew を最優先したい場合は一番左で OK

再度確認

ターミナルを再起動(一旦閉じて開く)して再度確認

$ printenv PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11/bin

ちゃんと変わってる。 svn も確認

$ svn --version
svn, version 1.6.13 (r1002816)
compiled Nov 10 2010, 18:21:15

期待通りに Homebrew からつかってくれてる。


Profile picture

Webのフロントエンドからバックエンド、プロトタイピングからプロダクションまで。定額の開発サービスも。詳しくはAboutページで。